【发布时间】:2016-01-15 20:37:01
【问题描述】:
我今天一直在摆弄 ui-router,试图更好地理解 Ionic 中的脚手架,我注意到的一件事是它们为“标签”的抽象状态提供了一个 url。
我唯一一次使用抽象状态,我使用空字符串作为 url,我注意到如果我不小心尝试导航到抽象状态(而不是子状态),我会得到错误:
无法转换到抽象状态“[insertAbstractStateHere]”
编辑:
“此外,在实验中,当我尝试将 url 分配给我的抽象状态(在 Ionic 之外)并仍然渲染嵌套状态视图时,我得到了一个大鹅蛋。什么都没有出现。”
以上引用的陈述是错误的!我在Plunker 中再次尝试,嵌套状态确实出现了。
angular.module('routingExperiments', ['ui.router'])
.config(function($urlRouterProvider, $stateProvider) {
$stateProvider
.state('abstractExperiment', {
abstract: true,
url: '', //<--- seems as if any string can go here.
templateUrl: 'abstractExperiment.html'
})
.state('abstractExperiment.test1', {
url: '/test1',
templateUrl: 'abstractTest1.html'
});
});
显然我确实做错了。所以我的新问题是:
在使用抽象状态时,是否有任何理由使用命名状态而不是空字符串,或者它只是一种样式选择?
【问题讨论】:
标签: angularjs ionic-framework angular-ui-router state abstract