最佳答案
为了更好地理解 Ionic 中的脚手架,我今天一直在摆弄 ui-router,我注意到他们给抽象的“ tab”状态提供了一个 url。
我只有几次使用抽象状态,我使用一个空字符串作为 url,我注意到,如果我曾经不小心尝试导航到一个抽象状态(相对于子状态) ,我会得到错误:
无法转换到抽象状态’[ insert tAbstractStateHere ]’
编辑:
“此外,在实验中,当我尝试为我的抽象状态(在 Ionic 之外)分配一个 url 并仍然呈现嵌套状态视图时,我得到了一个大鹅蛋。什么都没有显示出来。”
上面引用的语句是错误的! 我在 笨蛋中再次尝试,嵌套状态确实出现了。
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'
});
});
显然我的确做错了,所以我的新问题是:
在使用抽象状态时,使用命名状态而不使用空字符串有什么原因吗? 或者这只是一种样式选择?