【问题标题】:how to get the form name of current input text onchange in angular 2如何在角度2中获取当前输入文本onchange的表单名称
【发布时间】:2018-05-14 00:10:43
【问题描述】:

我有一个场景,我正在更改输入文本,我有多个表单,每个表单中有一个输入,所以我想获取我正在更改其输入的当前表单名称。如何在角度 2 中做到这一点??

下面是我的子组件代码

<form #form1="NgForm" novalidate>
  <input id="phoneNumber" type="text" placeholder="phoneNumber" class="validate"/>
</form>

<form #form2="NgForm" novalidate>
  <input id="mobileNumber" type="text" placeholder="mobileNumber" class="validate"/>
</form>

现在假设我要添加手机号码,我想要它的表单名称。这个角度2怎么做?这是我想在父组件中访问我正在使用@ViewChildren 访问子组件表单,我可以手动访问表单,但我希望动态访问我正在访问的输入..

【问题讨论】:

    标签: forms angular angular2-forms


    【解决方案1】:

    在 Angular 中,您有两种选择,使用动态表单或模板驱动表单, 您的选择是使用 #form1="NgForm"

    的动态表单

    Angular dynamic-form

    在您的代码中,您忘记了输入中的“[formControlName]”指令,当您拥有这些指令时,您可以从组件代码中访问表单,例如:

    组件:

    this.form1.valueChanges.subscribe(data => console.log('Form changes', data));
    

    HTML:

    <form #form2="NgForm" novalidate>
      <input [formControlName]="mobileNumber" type="text" placeholder="mobileNumber" class="validate"/>
    </form>
    

    【讨论】:

      【解决方案2】:

      我可以通过将索引作为输入传递给子表单并在父表单中发出相同的内容,从而使当前表单在父表单中有效无效...

      【讨论】:

        猜你喜欢
        • 2016-08-30
        • 2017-09-09
        • 1970-01-01
        • 2011-04-26
        • 2010-12-31
        • 1970-01-01
        • 2011-05-08
        • 2015-10-20
        • 2019-11-19
        相关资源
        最近更新 更多