Angular UI-router - 尽管 $stateParams get 对象但不填充参数
Angular UI-router - Not populating params despite $stateParams get object
我正在使用 angular 和 angular 路由器-ui。我想使用动态 url 参数。
我是这样使用它的:
.state('index.domain', {
url: '/domain',
template: "<div ui-view> Home Domain page </div>"
})
.state('index.domain.id', {
url: '/:domainId',
resolve: {
domainId: function($stateParams){
return $stateParams.domainId;
}
},
templateUrl: "./development/administration/domain.html",
controller: function(domainId){
console.log(domainId);
}
})
我通过以下调用调用路由:
$state.go('index.domain.id', {"domainId": domainId});
它确实执行了解析并且$stateParams 获得了一个带有domainId 的对象。尽管如此,它 没有进入控制器 。 URL/:domainId 也没有改变。
如果我在浏览器中将 URL 更改为指向 URL/RANDOM_DOMAIN_ID (其中 RANDOM_ID 是有效的域编号) 它执行解析并转到控制器。
我在 $state.go 通话中是否遗漏了什么?
我按原样使用了上面的状态定义:
.state('index', {
url: '/index',
template: "<div ui-view> Index </div>"
})
.state('index.domain', {
url: '/domain',
template: "<div ui-view> Home Domain page </div>"
})
.state('index.domain.id', {
url: '/:domainId',
resolve: {
domainId: function($stateParams){
return $stateParams.domainId;
}
},
templateUrl: "development/administration/domain.html",
controller: function(domainId){
console.log(domainId);
}
})
并且在主叫方只做了一些调整 - 这很有效:
<a ui-sref="index.domain.id({domainId: 1})">...
<button ng-click="$state.go('index.domain.id', {domainId: 22});">...
检查一下here
我正在使用 angular 和 angular 路由器-ui。我想使用动态 url 参数。
我是这样使用它的:
.state('index.domain', {
url: '/domain',
template: "<div ui-view> Home Domain page </div>"
})
.state('index.domain.id', {
url: '/:domainId',
resolve: {
domainId: function($stateParams){
return $stateParams.domainId;
}
},
templateUrl: "./development/administration/domain.html",
controller: function(domainId){
console.log(domainId);
}
})
我通过以下调用调用路由:
$state.go('index.domain.id', {"domainId": domainId});
它确实执行了解析并且$stateParams 获得了一个带有domainId 的对象。尽管如此,它 没有进入控制器 。 URL/:domainId 也没有改变。
如果我在浏览器中将 URL 更改为指向 URL/RANDOM_DOMAIN_ID (其中 RANDOM_ID 是有效的域编号) 它执行解析并转到控制器。
我在 $state.go 通话中是否遗漏了什么?
我按原样使用了上面的状态定义:
.state('index', {
url: '/index',
template: "<div ui-view> Index </div>"
})
.state('index.domain', {
url: '/domain',
template: "<div ui-view> Home Domain page </div>"
})
.state('index.domain.id', {
url: '/:domainId',
resolve: {
domainId: function($stateParams){
return $stateParams.domainId;
}
},
templateUrl: "development/administration/domain.html",
controller: function(domainId){
console.log(domainId);
}
})
并且在主叫方只做了一些调整 - 这很有效:
<a ui-sref="index.domain.id({domainId: 1})">...
<button ng-click="$state.go('index.domain.id', {domainId: 22});">...
检查一下here