Можно ли в Angular.js заменить элемент директивы ng-switch его содержимым?

Я использую переключатель для условного включения другого контента. Я хочу, чтобы внутреннее содержимое (например, директива приветствия) заменило родительский элемент ng-switch. Я знаю, что вы можете сделать это с помощью пользовательских директив, используя свойство конфигурации replace = true, но возможно ли это сделать со встроенными директивами, такими как ng-switch?

<div id="container">
    <ng-switch on="tabIndex">

        <welcome ng-switch-when="welcome"></welcome>

        <main ng-switch-when="main"></main>

        <help ng-switch-when="help"></help>

    </ng-switch>
</div>

Например, когда значением tabIndex является «помощь», я хочу получить следующий HTML-код:

<div id="container">

    <help><!-- contents of help template --></help>

</div>

person user2455709    schedule 05.06.2013    source источник
comment
Я думаю, что это невозможно только с директивой ng-switch. Он просто добавляет правильный переключатель-когда к своему основному элементу.   -  person Oliver    schedule 05.06.2013


Ответы (1)


Вам всегда будет нужна эта логика, но вы не должны обязаны использовать элемент для переключения. Он будет работать так же хорошо, как атрибут родителя:

<div id="container" ng-switch on="tabIndex">
    <welcome ng-switch-when="welcome"></welcome>
    <main ng-switch-when="main"></main>
    <help ng-switch-when="help"></help>
</div>
person Mike Robinson    schedule 05.06.2013