我想知道在重新加载页面后我应该如何保留$ stateParams变量。
.state('proSearch', {
url: '/proSearch/:city',
params: {
location: null
},
templateUrl: 'imports/client/ui/proSearch/proSearch.html',
controller: 'proSearchController',
controllerAs: 'vm'
})
当重新加载页面时,我的控制器丢失了$ stateParams.location数据。我怎么能保存它?
答案 0 :(得分:0)
您可以使用$ stateParams服务在控制器中访问它。
function MainController($scope, $stateParams, $state) {
var city = $stateParams.location
state.go($state.current, {location: city}, {reload: true});
}
此代码将您的位置参数保留在城市变量中,第二行使用当前城市参数刷新页面。我希望它有所帮助
答案 1 :(得分:0)
您可以将$ stateParams数据保存在$ scope变量而不是本地变量上。您的范围内仍存在$ scope变量。
$scope.city = $stateParams.location;
只要引用$ scope。
,就可以在其他控制器上访问$ scope变量我猜你不需要重新加载页面。双向数据绑定是一个很酷的概念,它鼓励不必重新加载页面来查看数据更新。