angularjs – Angular UI路由器 – 父级中的访问状态参数
栏目: JavaScript · 发布时间: 6年前
内容简介:http://stackoverflow.com/questions/22946983/angular-ui-router-access-state-params-in-parent
我有一个Angular应用程序使用伟大的ui路由器.
我的设置看起来像:
.config( function ($stateProvider, $urlRouterProvider) { $stateProvider // PROJECT DETAIL .state('project', { url: '/project/:projectId/', resolve: { /* some base api calls */ }, views: { 'task-list': { templateUrl: 'partials/task_list.tmpl.html', controller: 'TaskListCtrl', resolve: { tasks: function ($stateParams, ConcernService) { return ConcernService.get('project-tasks/', $stateParams.projectId); }, } }, 'concern-instance': { /* some resolved variables */ } } }) .state('project.task', { url: 'task/:taskId/', views: { 'concern-instance@': { /* some different resolved variables */ }, } })
这一切都像黄油一样工作.但是在我的task_list模板中,在状态project.task中,我想要能够访问taskId参数,所以我可以突出显示活动的导航链接,即使url是#/ project / 123 / task / 456 / taskId是空的.我明白这是因为模板只能访问为该状态声明的参数.所以如果我想在project.task状态下获取taskId,该怎么办?我需要在porject.task中重新声明任务列表吗?
任何帮助非常感谢.
中,他们解释说
“the $stateParams object will only contain the params that were registered with that state.”
您只能使用父级的resolve属性访问子状态中的父状态参数.
把它放在你的’项目’状态(父):
... resolve: { // Expose projectId parameter to child states projectId: ['$stateParams', function ($stateParams) { return $stateParams.projectId; }] },
然后在您的控制器内为您的状态“project.task”(子),您应该可以访问这两个
$stateParams.projectId
和
$stateParams.taskId
http://stackoverflow.com/questions/22946983/angular-ui-router-access-state-params-in-parent
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 饱受折磨的家用路由器 | 在研究的127个家用路由器中,没有一个路由器幸免
- fl2440制作无线路由器
- 华为路由器BGP邻居详解
- 路由器里的广告秘密
- 自己动手DIY:编译路由器固件
- 小米路由器 3G 刷机及固件
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
勇敢新世界‧互聯網罪與罰
許煜、劉細良 / CUP / 2005 / $48
我天天上網數小時,為的是要在節目裡面介紹世界的最新動態,尤其是網絡這個世界本身日新月異的變化。所以我不可能不注意到BT、共享軟件、 Wikipedia、網絡監管等各種影響政治、社會、經濟及文化的重要網絡現象。但是我發現市面上一直沒有一本內容充實全面,資料切時的中文參考書,直到這本《互聯網罪與罰》。而且,最大的驚喜是它易讀好看,簡直就像故事書。 梁文道 鳳凰衛視 《網羅天下......一起来看看 《勇敢新世界‧互聯網罪與罰》 这本书的介绍吧!
Markdown 在线编辑器
Markdown 在线编辑器
正则表达式在线测试
正则表达式在线测试