Обработка URL-адресов с помощью ui-интерфейса маршрутизатора-sref

#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 для отображения ссылки в другом атрибуте.