2015-08-11 2 views
1

Я пытаюсь создать некоторые директивы навигации, чтобы изолировать сложность. Я хочу, чтобы следующий HTML для отображения моей навигации:Список директив и вступление

<custom-nav> 
    <nav-item>Item 1</nav-item> 
    <nav-item>Item 2</nav-item> 
    <nav-item>Item 3</nav-item> 
</custom-nav> 

Если я написал директивы прямо сейчас, в результате чего составлен HTML будет выглядеть следующим образом:

<custom-nav> 
    <nav> 
     <ul> 
      <nav-item><li><a>Item 1</a></li></nav-item> 
      <nav-item><li><a>Item 2</a></li></nav-item> 
      <nav-item><li><a>Item 3</a></li></nav-item> 
     </ul> 
    </nav> 
</custom-nav> 

однако, это является недопустимым HTML (<ul> s может быть только <li> s как дети).

Без использования replace: true, что для меня лучше всего подходит? Единственное, что я могу думать о том, являются:

  1. Не используйте <ul> или <li> - использовать ARIA роли, чтобы определить свои собственные элементы списка.
  2. Не делайте список семантически списком. Я действительно не хочу этого делать.

Есть ли что-то, что я пропускаю?

+0

Заменить устарел в директивах, поэтому я бы не использовал его, если вы можете ему помочь. –

+0

Просто сделайте директиву заменой базового тега, ничего особенного здесь. – dfsq

+0

@MatthewGreen поэтому мой вопрос! – jkjustjoshing

ответ

0

Я не уверен, если я правильно понял вопрос, но то, что я могу сказать, вы можете передать элементы, которые вы хотите использовать в качестве li, в массиве, в качестве параметра директивы, и петля над ним в вашей функции ссылок, чтобы сгенерировать рекомендуемый результат html, который устранит любую сложность, связанную с проблемой , пожалуйста, дайте мне знать, если я вас неправильно понял. Удачи

+0

Это не делает вещи «угловатым способом». Возможно, вам захочется сделать это с помощью Angular 1.0 или 1.2 год или два назад. – jkjustjoshing

Смежные вопросы