Chr*_*ult 14 angularjs angular-ui-router
编辑了更多细节
我相信新手问题在这里.我正在尝试做一些我认为会直截了当的事情,但我没有得到任何结果.
基本上,我有一个有几个子州的父州.我想在父状态的解析中加载一些数据,以便它可供所有子状态使用.为此,我需要一个传递给子状态的参数(上下文)可用.我通过它得到它$state.params.代码(为清楚起见省略了一些)是这样的:
.state('pbr', {
url: "/pbr",
templateUrl: "pbr/pbr.html",
controller: "pbrBaseCtrl",
abstract: true ,
resolve: {
dpts: function(NavDPT, $state) {
return NavDPT.query({context: $state.params.context}).$promise;
}
}
})
.state('pbr.review', {
url: "/review/{context}?div",
templateUrl: "pbr/pbr-review.html",
controller: "pbrReviewCtrl"
})
Run Code Online (Sandbox Code Playgroud)
根据我的理解,$state.params应该包含父和子状态的传递参数,而$stateParams只有活动状态的参数.
无论如何,我所看到的是$state.params在解决问题发生之前没有填充,因此数据获取失败.它最终会填充.$state.params在获取数据之前,我似乎无法找到等待可用的方法.我试过在超时等情况下包装东西
我试图改为使用查询参数,并在父级别指定了查询参数,我观察到了同样的行为 - 当解决问题发生时,newcontext尚不可用.
.state('pbr', {
url: "/pbr?newcontext",
templateUrl: "pbr/pbr.html",
controller: "pbrBaseCtrl",
abstract: true ,
resolve: {
dptsResource: 'NavDPT',
dpts: function(dptsResource, $state, $log) {
$log.info("state.params is also ",$state.params);
return dptsResource.query({context: $state.params.newcontext}).$promise;
}
}
})
Run Code Online (Sandbox Code Playgroud)
谢谢.
有一个示例显示我们如何$stateParams在resolve函数中访问偶数,但它们必须在当前或父状态(不在子)中定义
所以,这些是州:
$stateProvider
.state('pbr', {
// we define 2 params oldContext and newContext
url: "/pbr/{oldContext}?newContext",
...
resolve: {
// here we can get all params defined for our state
dpts: function($state, $stateParams) {
return {
oldContext : $stateParams.oldContext,
newContext : $stateParams.newContext,
}
}
}
})
// child will have even the context as 3rd param
.state('pbr.review', {
url: "/review/{context}",
...
})
Run Code Online (Sandbox Code Playgroud)
以下是如何调用它们的方法:
// via ui-sref
ui-sref="pbr.review({oldContext: 'abc1', newContext : 'def1', context : 'xyz1'})"
ui-sref="pbr.review({oldContext: 'abc2', newContext : 'def2', context : 'xyz2'})"
// via href
href="#/pbr/abc1/review/xyz1?newContext=def1"
href="#/pbr/abc2/review/xyz2?newContext=def2"
Run Code Online (Sandbox Code Playgroud)
在那个plunker中观察更多
| 归档时间: |
|
| 查看次数: |
8790 次 |
| 最近记录: |