我是Angular的新手。目前我遇到了一个挑战,我已经工作了几个小时。我想发布在这里。问题是当Angular中的路由更改时,如何保留查询字符串值。我正在使用ui路由器。查询字符串有一个uid,将在每个请求中发送,我可以通过httpinterceptor实现。但是,无论何时路由发生变化,我都会在查询字符串中保留uid。有人可以对此提出一些见解吗?
答案 0 :(得分:0)
使用ui路由器时,您(通常)指定该状态的URL,模板和控制器:
.state('mystate', {
url: "/mystate",
template: "<p>Some template content using scope: {{title}}</p>",
controller: function($scope) {
$scope.title = "State 1";
}
});
要在状态之间保留查询字符串,可以向状态添加状态参数:
.state('mystate', {
url: "/mystate?myParam",
...
...
},
然后,您可以使用$stateParams.myParam
访问状态控制器中的参数。
注意:更改状态时必须传递myParam
:
$state.go("mystate", {myParam: "yourValueGoesHere"});