gpt4 book ai didi

angularjs - 支持无限嵌套状态的 Angular-UI ui-router

转载 作者:行者123 更新时间:2023-12-01 13:53:36 24 4
gpt4 key购买 nike

我的 Angular 应用程序中有一种情况,我想考虑一个无限嵌套的状态/路由。例如,假设我有一个人,我想看看家庭的血统。我可能有如下所示的路线:

/person/0
/person/0/child/1
/person/0/child/1/child/2
/person/0/child/1/child/2/child/3

这可能会一直持续下去,因为用户点击树的更深处。如何使用 ui-router 定义这样的路线?

最佳答案

您可以使用正则表达式来定义您的路由,然后解析 url 以获取子 ID,如下所示:

$stateProvider.state('person', {
url: '/person/:id',
views: {
'': {
templateUrl: 'parentTemplate.html',
controller: 'ParentCtrl'
}
}
}).state('child', {
url: '/person/:id/{path:.*}',
templateUrl: function(params) {
// params.path contains something like `child/1/child/2`
// so you get get the current child id like this
var path = params.path.split('/').reverse(),
childId = path[0];
// for more flexibility you can retrieve all ids from the request and store them in $stateParams
// so you can easily work with them in your controller

// here you can write some logic to determine the right template
return 'childTemplate.html';
},
controller: 'ChildCtrl'
});

关于angularjs - 支持无限嵌套状态的 Angular-UI ui-router,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23159658/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com