我有一个视图,可以根据ID加载不同的对象。这是一个get请求,控制器或状态不应该完全重新加载。我正在使用ui-router,我遇到了“reloadOnSearch”属性。将此设置为false不应该基于参数重新加载控制器,它应该仅在状态更改时重新加载。但这不起作用。这是我的配置功能:
var MAIN_CONFIGURATION = {
Setup: function(app) {
app.config(["$stateProvider", "$urlRouterProvider", function($stateProvider, $urlRouterProvider) {
$stateProvider.state("myState",
{
url: "/mystate/:id",
reloadOnSearch: false,
templateUrl: "/app/Main/templates/test.html?version=0.0.0.0001",
controller: testCtrl
});
$urlRouterProvider.when("", ["$state", function($state) {
$state.go("myState");
}]);
}]);
.
.
.
}
};
以下是我的部分HTML:
<tr ng-repeat="item in items" ui-sref="myState({id: '{{item.ID}}'})">
<td>{{item.FirstName}}</td>
<td>{{item.LastName}}</td>
</tr>
基本上会生成一堆表行,当单击一行时,我希望控制器不会完全重新加载。但是,确实如此。即使按下浏览器上的后退和前进按钮,也会重新加载。
我不知道我做错了什么,任何帮助都会受到赞赏。
答案 0 :(得分:0)
实际上我只是想通了。路由必须包含“查询”参数。因此我不能使用“/ mystate /:id”。我应该使用“/ mystate?id”。