У меня есть шаблон NgSwitch. В NgSwitch я хочу получить ссылку на шаблон для инициализированного шаблона. Что-то вроде этого:Angular2 - Ссылка на шаблон внутри NgSwitch
<div class="container" [ngSwitch]="model.type">
<first-component #ref *ngSwitchCase="0"></first-component>
<second-component #ref *ngSwitchCase="1"></second-component>
<third-component #ref *ngSwitchCase="2"></third-component>
</div>
При нажатии на кнопке в компоненте Я хочу позвонить в инициализируется компоненту (первый/второй/третья) к способу (который определен на интерфейсе, что все эти три компонента реализации) , Проблема заключается в том, что ViewChild не определен. Если переместить #REF в контейнер DIV, например:
<div class="container" #ref [ngSwitch]="model.type">
<first-component *ngSwitchCase="0"></first-component>
<second-component *ngSwitchCase="1"></second-component>
<third-component *ngSwitchCase="2"></third-component>
</div>
ViewChild (ссылка шаблон) инициализируется, но тогда я могу вызвать метод компонента.
Как использовать директиву NgSwitch и ссылочную переменную шаблона? Или, с другой стороны, как я могу вызвать инициализированный компонент из его родителя (в случае, когда я перемещаю #ref в контейнер div).
благодарит за ответ. Я нашел вопрос, который у меня есть в моем шаблоне. Я использую привязку ngSwitchCase к переменной перечисления, как описано здесь http://stackoverflow.com/questions/35835984/how-to-use-a-typescript-enum-value-in-an-angular2-ngswitch-statement - если я использую эту шаблон с перечислениями, когда дочерний элемент представления не определен даже после того, как представление инициализировано. Когда я переключаюсь на привязку ng-switch к номерам - как я здесь, чтобы упростить код, он работает. Вы знаете, почему это может произойти с привязками перечислений? – galvan