Сегодня я занимаюсь ui-router, пытаясь лучше понять леса в ионике, и одна вещь, которую я заметил, это то, что они дают абстрактное состояние "вкладок" 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'
});
});
По-видимому, я действительно делал это неправильно. Поэтому мой новый вопрос:
Есть ли причина, по которой можно использовать именованное состояние, а не пустую строку при использовании абстрактных состояний, или это просто выбор стиля?