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

我目前有一个带有单个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’状态,这就是我需要的.

相关文章

ANGULAR.JS:NG-SELECTANDNG-OPTIONSPS:其实看英文文档比看中...
AngularJS中使用Chart.js制折线图与饼图实例  Chart.js 是...
IE浏览器兼容性后续前言 继续尝试解决IE浏览器兼容性问题,...
Angular实现下拉菜单多选写这篇文章时,引用文章地址如下:h...
在AngularJS应用中集成科大讯飞语音输入功能前言 根据项目...
Angular数据更新不及时问题探讨前言 在修复控制角标正确变...