angularjs - 未呈现 Angular UI-Router 嵌套状态模板

标签 angularjs angular-ui-router

我是 ui-router 的新手,无法让 layout.directory.teamslayout.directory.people 加载它们各自的模板。我希望这些模板在 layout 状态模板的 ui-view 中加载。

/dashboard 工作正常...dashboard.html 模板加载到 content.html 的 ui-view 模板。

/directory/teams 不加载 teams.html 模板。

/directory/people 不加载 people.html 模板。

.state('layout', {
    abstract: true,
    templateUrl: "components/common/content.html"
})
.state('layout.dashboard', {
    url: "/dashboard",
    controller: 'DashboardCtrl',
    controllerAs: 'dashboard',
    templateUrl: "app/features/dashboard/views/dashboard.html",
})
.state('layout.directory', {
    abstract: true,
    url: "/directory"
})
.state('layout.directory.teams', {
    url: "/teams",
    controller: 'DirectoryCtrl',
    controllerAs: 'directory',
    templateUrl: "app/features/directory/views/teams.html",
})
.state('layout.directory.people', {
    url: "/people",
    controller: 'DirectoryCtrl',
    controllerAs: 'directory',
    templateUrl: "app/features/directory/views/people.html",
})

最佳答案

即使父状态是抽象,子状态也会在 ui-view 指令所在的父状态模板中呈现其模板。

因此,在您的情况下,将 ui-view 添加到 layout.directory 状态的模板中:

.state('layout.directory', {
    abstract: true,
    url: "/directory",
    template: "<div ui-view></div>"
})

关于angularjs - 未呈现 Angular UI-Router 嵌套状态模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33192049/

相关文章:

javascript - 如何在以下情况下禁用 AngularJS 中的提交?

angularjs - RequireJS + AngularJS + 模块 : Dependency issues

javascript - 带有 ui.router 的 AngularJs 如何为其子项设置身份验证

javascript - 从命名/未命名 Controller 引用 Angular Controller 成员

angularjs - 'IPromise<any >' is not assignable to type ' Promise<any>'

javascript - 等价于 Angular 或纯 JS 中的 $.param?

c# - JSON 对象不序列化大数据

javascript - Angular UI 路由器 - "could not resolve state"带参数

javascript - 无法在 angularjs 中显示名称和对 json 数据执行编辑?

Javascript XMLHttpRequest FormData 发送不起作用