gpt4 book ai didi

angularjs - Angular UI路由器| $ stateParams不起作用

转载 作者:行者123 更新时间:2023-12-03 08:59:13 25 4
gpt4 key购买 nike

好像$stateParams无法正常工作。
通过日期是这样的:

$state.go('state2', { someParam : 'broken magic' });

在目标状态上忽略参数
console.log('state2 params:', $stateParams); // return empty object {}

代码:
    var app = angular.module('app', [
'ui.router'
]);

app.config(function($stateProvider) {
$stateProvider
.state('state1', {
url: '',
templateUrl: 'state-1.html',
controller : function ($scope, $state, $stateParams) {
$scope.go = function () {
$state.go('state2', { someParam : 'broken magic' });
};

console.log('state1 params:', $stateParams);
}
})
.state('state2', {
url: 'state2',
templateUrl: 'state-2.html',
controller : function ($scope, $state, $stateParams) {
$scope.go = function () {
$state.go('state1', { someOtherParam : 'lazy lizard' });
};

console.log('state2 params:', $stateParams);
}
});
});

可以找到实时示例here

谢谢。

最佳答案

您不能在状态之间传递任意参数,需要将它们定义为$stateProvider定义的一部分。例如。

$stateProvider
.state('contacts.detail', {
url: "/contacts/:contactId",
templateUrl: 'contacts.detail.html',
controller: function ($stateParams) {
console.log($stateParams);
}
}) ...

上面的代码将输出定义了contactId属性的对象。如果转到 /contacts/42,则 $stateParams将为 {contactId: 42}

有关更多信息,请参见 documentation for UI-Router URL Routing

关于angularjs - Angular UI路由器| $ stateParams不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22610787/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com