У меня есть следующее состояние.
.state('categories', {
url: '/categories',
templateUrl: 'categories',
controller: 'CategoriesController',
})
И загрузка шаблона URL:
<div>
<a ui-sref="categories.bob">my link text</a>
</div>
Но ui-sref
не компилируется. Как правильно использовать этот случай?
- [EDIT] - Я имею в виду, что шаблон формы, загруженный html, не компилируется AnulgarJS. Например
<a ui-sref="categories.bob">my link text</a>
должно быть
<a ui-sref="categories.bob" href="#/categories/bob">my link text</a>
На самом деле я нашел свою проблему. Мой неправильный адрес штата был неправильным.
.state('categories.category', {
url: '/:category',
templateUrl: function($params) {
console.log($params);
return 'categories/' + $params.category;
},
})
Но я все еще не понимаю, как и почему <a ui-sref="someUrl">
отображаются как <a ui-sref="someUrl" href="#>someUrl">
покупать, если я загружаю html с атрибутом templateUrl no href генерируется. Итак, есть способ заставить его также генерировать атрибут href?
Как загрузить мое вложенное представление в родительский ui-view
?
Я предполагаю, что вы хотите передать bob
в качестве необязательного параметра? Если это так, попробуйте следующее:
Определение нового состояния:
.state('categories.name', {
url: '/:name',
templateUrl: 'subcategorytemplate',
controller: 'SubCategoryController',
})
Маршрут:
<div>
<a ui-sref="categories.name({name:"bob"})">my link text</a>
</div>
Вы найдете свой параметр маршрута в службе ui-router $stateParams
, вызвав $stateParams.name
. Для получения дополнительной информации смотрите здесь.
ui-router
работает таким образом ...? Мое решение будет отображать href="#/categories/bob"
, возможно, попробуйте это;)
categories.bob
, у вас просто естьcategories
?