在角度js中,每当应用程序进入该状态时,重新加载状态的最佳方法是什么?

时间:2016-04-18 07:26:32

标签: javascript angularjs

我可以使用像window.location()这样的javascript函数。但是也可以使用angularjs. $使用angularjs $ state服务的$ state.go和$ state.transitionTo方法,状态不会每次重新加载。我需要每次重新加载状态应用程序通过角度ui路由器进入该状态,并且视图也应该每次更新。我必须使用更多本机window.location方法? 请注意,这很重要,因为$ state服务方法没有重新加载状态每次 我跟着链接Reloading current state - refresh data。但是,transitionTo方法中的inherit:false属性值并不是每次都在我的应用程序端重新加载状态。也许它必须对缓存执行某些操作。

我想要实现的是,在编辑表单后,它将进入列表状态,并在该状态中显示更新的值,我通过表单更新。但在该状态下,它仍然显示以前的值.ie。状态不是每次重新加载 并且值不会每次更新

这是控制器代码:

EditUser.workat(company_form,$scope.userId).then(function(response){
            console.log(response);
            $scope.hide();
            if(response.data.is_success) {
                    $scope.company_form = response.data.company_address_info;
                    //$state.go('about', {user_id: $scope.userId}, {reload: true});
                    $state.transitionTo('about', {user_id: $scope.userId}, {
                        reload: true,
                        inherit: false,
                        notify: true
                    });
            }else{

                $ionicPopup.alert({
                  title: 'Error',
                  content: response.data.message
                });

            }
        });

2 个答案:

答案 0 :(得分:2)

在html中:

<a ui-sref="home" ui-sref-opts="{reload: true}">Home</a>

在Javascript中

$state.go('name', {reload:true});

https://github.com/angular-ui/ui-router/wiki/Quick-Reference

答案 1 :(得分:0)

其实我在这里猜测是因为关于你想要达到的目标没有足够的信息。

本机ui-router重载方法是: $state.reload()

或: $state.go('YOUR.STATE', {reload:true}); 这将重新加载您当前的状态。 尽管这似乎不是一种神的方法(每次重新加载状态,但仍然没有足够的信息与你的目标和来源相关。