ng-if only первая директива, работающая с самозакрывающимся тегом

Я новичок в angular, так что, возможно, это не лучший способ сделать это. Я, вероятно, переделаю большую часть того, что уже сделал, когда узнаю больше.

Я использую URL-маршрутизацию с ngRoute это работает нормально. На одной из страниц у меня есть несколько шаблонов ng-include - опять все хорошо.

В одном из ng-include шаблоны, я использую два directives отображать шаблоны.

<provider-search providers="practiceData.providers" states="ref.states" specialties="ref.specialties" status="updateSearchStatus" ng-show="searchStatus == 1"/>
<search-list status="updateSearchStatus" addp="addProvider" providers="searchResults" ng-if="searchStatus == 2" />

Каждая из директив использует изолированную область видимости и контроллер. Проблема только в том, что первая директива работает. Если я переключаю порядок, то работает вторая директива (теперь, если первая позиция). Короче говоря, работает только указанная директива.

Любая помощь приветствуется.

1 ответ

Вы не закрываете тег.

<provider-search providers="practiceData.providers" states="ref.states" specialties="ref.specialties" status="updateSearchStatus" ng-show="searchStatus == 1">
</provider-search>

<search-list status="updateSearchStatus" addp="addProvider" providers="searchResults" ng-if="searchStatus == 2">
</search-list>

Почему это не работает?

Самозакрывающиеся или недействительные элементы, как определяет их спецификация html, очень специфичны для анализатора браузера. Вы не можете сделать свой собственный, поэтому для пользовательских элементов вы должны придерживаться не пустых элементов (<foo></foo>).

Подробнее читайте здесь самозакрывающийся тег

Другие вопросы по тегам