角度ui-router参数不清楚

时间:2017-04-18 08:24:44

标签: javascript angularjs angular-ui-router

我有一个州:

.state({
        name: "some_url",
        url: "/some",
        templateUrl: "views/some.html",
        controller: 'someCtrl',
        params: {
            someData: {
                'mout': null,
            }
        }
    })

然后在控制器中我改变它:

$scope.someData = $stateParams.someData;
$scope.someData['mykey'] = 2;

然后转到下一个网址:

$state.go("next_url");

如果我这样做,请在下一个网址中:

console.log($stateParams.someData)我得到未定义哪个好。

但如果在此之后我会回到$state.go("some_url");那么:

console.log($stateParams.someData)

告诉我:

{'mykey': 2}

如何清除stateParams

2 个答案:

答案 0 :(得分:1)

使用

$state.go("some_url", null, {reload:true});

在HTML中,您可以使用 ui-sref-opts 参数

进行操作
<md-button ui-sref="some_url" ui-sref-opts="{reload: true}" >BACK</md-button>

Reference

答案 1 :(得分:1)

Angular会创建一个单例对象,因此您必须在执行状态

之前清除它

尝试使用

// $ state.go(state,params,options);

$state.go("some_url", null, {reload:true});