Есть ли способ в angular 2 выбрать имя / идентификатор ввода внутри div?

Html:

<div class="form-pages" (click)='function()'>//if it's possible then what should I put into function param?
    <fieldset>
     <input type="text" name="firstName"/>
     <input type="text" name="firstName"/>
</fieldset>
</div>

Составная часть: function(str){this.var=str}

0
Jędrek Markowski 2 Авг 2017 в 11:00

2 ответа

Не уверен, можно ли получить доступ к шаблонным переменным дочерних элементов

<div class="form-pages" (click)='function(input1.value, input2.value)'>//if it's possible then what should I put into function param?
    <fieldset>
     <input #input1 type="text" name="firstName"/>
     <input #input2 type="text" name="firstName"/>
</fieldset>
</div>

Если это не сработает, вы можете использовать

<div class="form-pages" (click)='function()'>//if it's possible then what should I put into function param?
    <fieldset>
     <input #myinput type="text" name="firstName"/>
     <input #myinput type="text" name="firstName"/>
</fieldset>
</div>
@ViewChildren('input') inputs:QueryList<ElementRef>;

myFunction() {
  let inputs = this.inputs.toArray();
  console.log(inputs[0].value;
  console.log(inputs[1].value;
}
1
Günter Zöchbauer 2 Авг 2017 в 11:05

Хорошо, я сделал это один, спасибо за предыдущий ответ, но для меня он работает хорошо. Необходимо вызвать метод $ event.target.name, который вернет имя выбранной цели.

<div (click)="setFocus($event.target.name)">
<input type='text' name='input1 />
<input type='text' name='input2 />
</div>

В компоненте setFocus(str){this.var = str)

1
Jędrek Markowski 2 Авг 2017 в 11:20