angularjs – Angular UI路由器 – 父级中的访问状态参数

栏目: JavaScript · 发布时间: 7年前

内容简介: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中重新声明任务列表吗?

任何帮助非常感谢.

在UI-Router文档 here

中,他们解释说

“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


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

村落效应

村落效应

[加] 苏珊·平克(Susan Pinker) / 青涂 / 浙江人民出版社 / 2017-3-1 / CNY 69.90

 面对面的接触是作为社会性动物的人类最古老、深刻的需求。在互联网时代,社交媒体已经成为人际沟通的主体,人际关系的维系越来越被社交媒体上的点赞、转发、评论代替,在冰冷的互动中,我们失去了真实与温度。面对面的人际关系与接触能让人感受到如村落生活般的归属感,它是一个人免疫力、复原力和影响力的真正来源。虽然互联网拥有毋庸置疑的优势,但是如果我们渴望快乐、健康、长寿……没错,还有智慧,我们就需要想方设法腾......一起来看看 《村落效应》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

html转js在线工具
html转js在线工具

html转js在线工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具