加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

AngularJS:如何使用UI路由器实现默认嵌套状态?

发布时间:2020-12-17 07:32:31 所属栏目:安全 来源:网络整理
导读:我目前有一个带有单个ui-view的root index.html,它取决于用户所在的“页面”,例如书籍,游戏等.以书籍页面为例,此视图包含我想要在“书籍”空间的所有页面上显示的内容,但中心内容将根据用户是否开启而有所不同书籍“主页”或看一本特定的书.为方便起见,我的b
我目前有一个带有单个ui-view的root index.html,它取决于用户所在的“页面”,例如书籍,游戏等.以书籍页面为例,此视图包含我想要在“书籍”空间的所有页面上显示的内容,但中心内容将根据用户是否开启而有所不同书籍“主页”或看一本特定的书.为方便起见,我的books.html有一个嵌套状态,其中包括books_list.html或books_detail.html.

我想要的网址结构是:

> / books – 显示左/右侧面板以及页面中间的书籍列表.
> / books / 1 – 显示左/右侧面板以及页面中间ID为1的书籍的详细信息(不显示书籍列表).

如何在导航到/ books时将我的状态设置为嵌套视图中的books.html模板和books_list.html模板,但在导航到/ books / 1时有books.html AND 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',...
})
我通过声明一个抽象状态实现了我所需要的:
.state('books',{
    abstract: true,url: '/books',{
    url: '',...
})

这意味着/ books加载’books’和’books.home’状态,/ books / 1加载’books’和’books.detail’状态,这就是我需要的.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读