#javascript #angularjs #angular-ui #angular-ui-router #angularjs-routing
#javascript #angularjs #angular-ui #angular-ui-router #angularjs-маршрутизация
Вопрос:
Хотя состояния меняются успешно, я не могу обновить пользовательский интерфейс:
HTML
<a ui-sref="promo.foo">Foo state</a>
<a ui-sref="promo.bar">Bar state</a>
<div ui-view=""></div>
JavaScript
$urlRouterProvider.otherwise("/");
$stateProvider
.state('promo', {
url: "/",
abstract: true
})
.state('promo.foo', {
url: "promo/foo",
template: "'<h3>Foo</h3>'",
controller: function($scope) {
$scope.value = 'foo';
}
})
.state('promo.bar', {
url: "promo/bar",
template: "'<h3>Bar</h3>'",
controller: function($scope) {
$scope.value = 'bar';
}
})
Plnkr (со стилем начальной загрузки)
Я также попытался установить ui-view
равным определенным состояниям; и динамически изменять его RHS с моего $scope
.
Комментарии:
1. Попробуйте не указывать
ui-view
значение.<div ui-view></div>
2. Пробовал; никаких изменений. AFAIK
attr=""
равноattr
.
Ответ №1:
Поскольку вы пытаетесь создать вложенные представления, в домашнем состоянии должен быть шаблон с элементом пользовательского интерфейса. Кроме того, у вас есть как двойные, так и одинарные кавычки в шаблоне
template: "'<h3>Foo</h3>'"
Это Планкер, что вы имели в виду?
Ответ №2:
Дайте вашему абстрактному состоянию шаблон, содержащий, внутри которого будут отображаться ваши подчиненные состояния… например http://scotch.io/tutorials/javascript/angular-routing-using-ui-router
Комментарии:
1. Да, это то, что я пробовал ранее ночью. Это также не сработало. Могу ли я разработать тестовый пример из этого, показывающий проблему, когда я вернусь через ~ 4 часа.
2. ну, я попробовал, ссылка на plunker, которую вы предоставили, работает