我正在使用 angularjs 中的一些嵌套状态,并且一切顺利,直到 URL 的一部分是动态的。
这很好用
.state('company', {
url: "/company",
templateUrl: 'views/company/index.html'
})
.state('company.list', {
url: "/",
views: {
"c_list": {
templateUrl: 'views/company/list.html',
controller: 'CompanyCtrl'
}
}
})
.state('company.view', {
url: "/:company_id",
views: {
"c_info": {
templateUrl: 'views/company/view.html',
controller: 'CompanyCtrl'
},
"c_menu": {
templateUrl: 'views/company/menu.html',
controller: 'MenuCtrl'
}
}
})
但是当涉及到扩展 company.view 时,因为它有一个动态参数,所以它失败了。
.state('company.view.user', {
url: "/user",
views: {
"c_nested":{
templateUrl: 'views/user/index.html',
}
}
})
.state('company.view.user.list', {
url: "/",
views: {
"u_list": {
templateUrl: 'views/user/list.html',
controller: 'UserCtrl'
}
}
})
如果我从 company 而不是 company.view 扩展用户,则会显示嵌套视图,但如果我从 company.view 扩展,则仅显示主要内容,而不显示嵌套视图。
对于 company/index.html 我有:
<div ui-view="c_list"></div>
<div ui-view="c_info"></div>
<div ui-view="c_menu"></div>
<div ui-view="c_nested"></div>
对于 user/index.html 我有:
<div ui-view="u_list"></div>
<div ui-view="u_info"></div>
<div ui-view="u_menu"></div>
<div ui-view="u_nested"></div>
假设所有其他 html 都一样简单
<div>hi</div>
我使用的网址是:
/公司 [作品]
/company/92 [作品]
/company/92/user [没办法]
我应该怎么做才能使这项工作与动态参数一起工作?