【发布时间】:2015-01-27 09:39:24
【问题描述】:
我目前有一个带有单个 ui-view 的根 index.html,它会根据用户所在的“页面”被替换,例如书籍、游戏等。以书籍页面为例,此视图包含我希望在属于“书籍”空间的所有页面上显示的内容,但中心内容会根据用户是否打开而有所不同书籍“主页”或查看特定书籍。为此,我的 books.html 有一个嵌套状态,其中包括 books_list.html 或 books_detail.html。
我想要的 url 结构是:
- /books - 显示左侧/右侧面板以及页面中间的书籍列表。
- /books/1 - 在页面中间显示左侧/右侧面板以及 ID 为 1 的书籍的详细信息(不显示书籍列表)。
如何设置我的状态,以便在导航到 /books 时在嵌套视图中有 books.html 模板和 books_list.html 模板,但在导航到 /books/1 时有 books.html 和 books_detail.html?
我目前正在通过有一个“家”子状态来解决这个问题,但这意味着我必须有 /books/home,并且 /books 不显示中心内容,因此目前没有用。
.state('books', {
url: '/books',
templateUrl: CONFIG.static_url + '/html/books.html',
...
})
.state('books.home', {
url: '/home',
templateUrl: CONFIG.static_url + '/html/books_list.html',
...
})
.state('books.detail', {
url: '/:bookId',
templateUrl: CONFIG.static_url + '/html/books_detail.html',
...
})
【问题讨论】:
标签: angularjs angular-ui-router