$state.go ui-路由函数忽略自定义参数
$state.go ui-routing function ignores custom parameters
我创建了一个 'go' 后退选项,将用户带回到 advSrch screen/state。如果返回,我将 loadSearchQuery 传递为 true。
$scope.back = function() {
$state.go('advSrch', { isDeleted: false, loadSearchQuery: true });
};
但是无论如何我的应用总是使用默认值。
}).state("advSrch",{url:"/advSrch",
templateUrl: "app/search/advSearch.html",
controller: "searchCtl",
params: { isDeleted: null, loadSearchQuery: null },
data: { authorizedRoles: ['USR']}
当我console.log回去后loadSearchQuery一直是null。我做错了什么吗?
确保您尝试从 $stateParams
获取 loadSearchQuery
。
angular.module('app').controller('searchCtl', ['$scope', '$state', '$stateParams',
function ($scope, $state, $stateParams) {
// Log param
console.log($stateParams.loadSearchQuery);
// ...
}
]);
编辑:正如 jackthed 在回答中指出的那样,从 ui-路由器版本 1 开始不推荐使用 $stateParams
,而是可以使用 $transition$
。例如:
angular.module('app').controller('searchCtl', ['$scope', '$transition$',
function ($scope, $transition$) {
// Log param
console.log($transition$.params().loadSearchQuery);
// ...
}
]);
$stateParams 属性 已弃用,建议使用 1.0 版本
$transition$ 和 get 使用 $transition$.params() 获取当前转换的参数。
我创建了一个 'go' 后退选项,将用户带回到 advSrch screen/state。如果返回,我将 loadSearchQuery 传递为 true。
$scope.back = function() {
$state.go('advSrch', { isDeleted: false, loadSearchQuery: true });
};
但是无论如何我的应用总是使用默认值。
}).state("advSrch",{url:"/advSrch",
templateUrl: "app/search/advSearch.html",
controller: "searchCtl",
params: { isDeleted: null, loadSearchQuery: null },
data: { authorizedRoles: ['USR']}
当我console.log回去后loadSearchQuery一直是null。我做错了什么吗?
确保您尝试从 $stateParams
获取 loadSearchQuery
。
angular.module('app').controller('searchCtl', ['$scope', '$state', '$stateParams',
function ($scope, $state, $stateParams) {
// Log param
console.log($stateParams.loadSearchQuery);
// ...
}
]);
编辑:正如 jackthed 在回答中指出的那样,从 ui-路由器版本 1 开始不推荐使用 $stateParams
,而是可以使用 $transition$
。例如:
angular.module('app').controller('searchCtl', ['$scope', '$transition$',
function ($scope, $transition$) {
// Log param
console.log($transition$.params().loadSearchQuery);
// ...
}
]);
$stateParams 属性 已弃用,建议使用 1.0 版本 $transition$ 和 get 使用 $transition$.params() 获取当前转换的参数。