Angular: оператор If / else в форме представления - PullRequest
0 голосов
/ 20 июня 2019

Я совершенно новичок с этой "вещью".Я имею в виду не мой код ...

У меня есть представление, которое имеет:

<form (ngSubmit)="submitCreateForm()">

У меня также есть переменная, которую я могу использовать, под названием type, которая имеет любое значение add или edit.

Как определены 2 метода submitCreateForm и submitUpdateForm

Как я могу изменить ngSubmit в <form> для вызова submitCreateForm, если тип add или submitUpdateForm когда тип равен edit?

Я знаю, это звучит тривиально, но синтаксис для меня довольно запутанный.В идеале я ищу условную строку.

Ответы [ 4 ]

1 голос
/ 20 июня 2019

Почему у вас нет (ngSubmit)="submit()", и в машинописи компонентов приходится логически вызывать соответствующий метод на основе переменной типа?

1 голос
/ 20 июня 2019

В серверной части вы можете справиться с этим, вы можете всегда вызывать submitForm ()

<form (ngSubmit)="submitForm()">

Пусть функция submitForm () решит, какой запрос будет вызываться на основе типа

 submitForm() 
 {
      if(this.type==="add"){
       this.submitCreateForm();
      }
      else{
       this.submitUpdateForm();
     }
 }
0 голосов
/ 20 июня 2019

1) Это не очень хорошая практика, но это поможет.Попробуйте сохранить две формы на основе этого логического значения.

<form ng-if="type == true" (ngSubmit)="submitCreateForm()">
<form ng-if="type != true" (ngSubmit)="submitUpdateForm()">

2) Мое второе предложение - использовать общее действие отправки и отдельную логику, основанную на логическом типе

.
0 голосов
/ 20 июня 2019

Использовать троичный оператор (? .. :) для условного рендеринга.

<form (ngSubmit)="type === 'add' ? submitCreateForm() : submitUpdateForm">
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...