#angularjs #angular-ui-router
#angularjs #angular-ui-router
Вопрос:
У меня есть файл menu.json
с таким именем:
[
{
"label": "Search"
"icon": "icon-search",
"state": "search"
},
{
"label": "Help",
"icon": "icon-question-sign",
"state": "http://help.abc.com"
}
]
Этот файл обрабатывается и возвращается сервером. Я использую его для отображения моей панели навигации с помощью директивы ngRepeat .
<li ng-repeat="entry in menu_entries">
<!-- 'entry' is each json object in the above array -->
<a ui-sref="{{entry.state}}"><i class="{{entry.icon}} icon-white"></i> {{entry.label}}</a>
</li>
Состояния отлично работают и компилируются в правильные HTML-ссылки, однако что мне делать для состояний, которые на самом деле являются URL-адресами? Должен ли я написать какое-то правило urlRouterProvider пользовательского интерфейса-маршрутизатора ИЛИ другую функцию? Как вы, ребята, справляетесь с этим, когда есть сочетание состояний и URL-адресов?
Ответ №1:
В этих случаях у меня немного другая структура файла json — у меня есть атрибут, вызываемый internal: true/fase
для каждого пункта меню, а затем простой оператор if для отображения ссылки в другом атрибуте.