Ionic 4 Как программно изменить templateUrl? - PullRequest
1 голос
/ 03 июля 2019

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

Есть ли решение для этого?

1 Ответ

1 голос
/ 03 июля 2019

Я не думаю, что это возможно. Вам нужно изменить его в функции @Component (), а входные переменные пока недоступны.

Полагаю, ваша проблема в том, что вы не хотите иметь огромный шаблон с кучей условных выражений. Я бы решил это, сделав каждую форму отдельным компонентом (как в любом случае, если бы вы пытались загрузить разные шаблоны), поэтому в итоге вы получите что-то вроде этого в качестве модального шаблона:

<app-form-one *ngIf="condition"></app-form-one>
<app-form-two *ngIf="condition2"></app-form-two>
<app-form-three *ngIf="condition3"></app-form-three>

Вид глупого простого решения, но оно работает и очень чисто, без взлома.

И если вы не хотите переносить информацию об обработке форм в компоненты, вы можете избежать этого, передавая свойство ввода [formData] следующим образом:

<app-form-three *ngIf="condition3" [formData]="formData"></app-form-three>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...