【问题标题】:How to get ngForm variable reference in the component class?如何在组件类中获取 ngForm 变量引用?
【发布时间】:2016-04-21 14:46:48
【问题描述】:

鉴于以下...

.html

<form (ngSubmit) = "onSubmit()"
          #heroForm = "ngForm">
      {{diagnostic}}
      <div class = "form-group">
        <label for = "name">Name</label>
        <input type = "text"
               class = "form-control"
               required
               [(ngModel)] = "model.name"
               ngControl = "name"
               #name = "ngForm"
               #spy>
        <p *ngIf = "name.dirty"
           class = "alert alert-danger">
          Name is required
        </p>
        <!--<p [hidden] = "name.dirty"-->
           <!--class = "alert alert-danger">-->
          <!--Name is required-->
        <!--</p>-->
      </div>

..

..是否可以在 .dart 组件中获取 #name = "ngForm" (ngForm) 引用以允许操作?欢迎任何建议和指正。

【问题讨论】:

    标签: dart angular angular2-forms


    【解决方案1】:

    导入这个 -

    import {ViewChild} from 'angular2/core';
    

    只需将此字段与注释添加到类中

    // Dart syntax
    @ViewChild('heroForm') NgForm heroForm;
    

    你不能在构造函数中使用它,因为它只是稍后设置的。在ngAfterViewInit 或用于用户输入的事件处理程序中,您可以不受限制地使用它。

    【讨论】:

    • 看上面的回复,@ViewChild('name') NgControlname应该返回name控件吗?
    • 我在你的问题中发现了这个令人困惑的地方。 @ViewChild('name') 分配具有模板变量#name 的元素的引用。或者,您可以传递一个类型 @ViewChild(NgForm)
    • 不应该是@ViewChild('heroForm') heroForm: NgForm吗?
    • @DrazenBjelovuk 这是 Dart 语法。请参阅问题下方的标签;-) 无论如何感谢您的提示。
    • angular.io/api/forms/FormControlDirectiveangular.io/api/forms/NgFormexportAs: 'ngForm',如果你想获得其中之一的参考,你必须使用 #foo="ngForm"
    猜你喜欢
    • 1970-01-01
    • 2018-04-06
    • 2020-03-29
    • 2013-09-17
    • 2019-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多