这是我的 app.js
.state('dashboard', {
url: '/dashboard',
templateUrl : 'resources/components/dashboard/dashboard.html',
controller : 'dashboardController',
}).state('dashboard.profile', {
url: '/profile',
templateUrl : 'resources/components/clinicprofile/profile.html',
controller : 'profileController',
}).state('dashboard.setting', {
url: '/setting',
templateUrl : 'resources/components/setting/settings.html',
controller : 'profileController',
}).state('dashboard.setting.user', {
url: '/user',
templateUrl : 'resources/components/setting/user.html',
controller : 'profileController',
请注意当我在 setting.html 页面中输入 ng-view 时,我的三级嵌套 url 工作正常 但我不想在用户打开时显示 setting.html 的内容
dashboard/setting/user
既显示设置页面内容,又显示用户页面内容
当用户在用户页面时,我不想显示 setting.html 的内容
我只想在此 url dashboard/setting/user
上显示用户内容,我该怎么做?
最佳答案
如果您不希望用户页面包含在设置页面中,则它不能是设置的子项,因此可能的解决方案是使用抽象状态并将设置 URL 更改为类似 setting/主要:
.state('dashboard', {
url: '/dashboard',
templateUrl: 'resources/components/dashboard/dashboard.html',
controller: 'dashboardController',
}).state('dashboard.setting', {
abstract: true,
url: '/setting',
template: '<ui-view></ui-view>',
}).state('dashboard.setting.main', {
url: '/main',
templateUrl: 'resources/components/setting/settings.html',
controller: 'profileController',
}).state('dashboard.setting.user', {
url: '/user',
templateUrl : 'resources/components/setting/user.html',
controller : 'profileController',
})
关于javascript - Angular 三级嵌套网址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39172668/