ui-router和多嵌套视图/状态?

时间:2017-01-12 15:55:46

标签: angularjs angular-ui-router

我在使用ui-router进行嵌套视图时遇到问题。目前我可以通过以下方式深入一级:/pages/:page

.state('genius.pages', {
    url: '/pages/:page',
    views: {
        '' : { 
            templateUrl: "public/views/pages/page.html",
            controller: "pageController"
        }
    }
})

我想要完成的内容基本上是/pages/:page/:subpage,但我似乎无法捕获子页面。我尝试了以下但没有太多运气。我收到一个错误:

  

无法读取属性' getName'未定义的

.state('genius.pages.subpages', {
    url: '/pages/:page/:subpage',
    views: {
        '' : { 
            templateUrl: "public/views/pages/page.html",
            controller: "pageController"
        }
    }
})

在我的pageController中,我利用$stateParams来捕获页面参数( $ stateParams.page ),所以我也很喜欢通过$stateParams.subpage访问子页面参数。

我在俯瞰什么?

1 个答案:

答案 0 :(得分:0)

我不确定这是不是正确的方法,但我确实这样做了。我也不确定我是否过度复杂化了。耸肩。

我做的第一件事就是彻底删除url: '/pages/:page',块。这使/pages/:page//pages/:page/:subpage一起工作,这在我的书中是可以的。

然而,在我的模型中,我链接到/pages/:page之类的内容而没有尾随/ - 通过这样做,它会破坏。我只是更新了我的模型以包含尾随/,我很高兴。

我的更新状态很简单:

.state('genius.pages', {
    url: '/pages/:page/:subpage',
    views: {
        '' : { 
            templateUrl: "public/views/pages/page.html",
            controller: "pageController"
        }
    }
})