【问题标题】:In this example why is the value of the template variable "ngModel"在这个例子中,为什么模板变量“ngModel”的值是
【发布时间】:2018-03-12 07:56:47
【问题描述】:

在这个例子中,我看到了解释,但我仍然不确定我理解为什么在这种情况下#name 模板变量设置为“ngModel”。如果有 2 或 3 个带有模板变量的其他输入字段,您还会将它们的值设置为“ngModel”吗?

https://angular.io/guide/forms#show-and-hide-validation-error-messages

<label for="name">Name</label>
<input type="text" class="form-control" id="name"
       required
       [(ngModel)]="model.name" name="name"
       #name="ngModel">
<div [hidden]="name.valid || name.pristine"
     class="alert alert-danger">
  Name is required
</div>

【问题讨论】:

标签: angular


【解决方案1】:

ngModel 是 NgModel 指令的选择器,您需要设置它来激活它。通过设置 #name="ngModel" 您可以使用 ngModel 键将指令导出到局部变量中。 每个输入都可以有自己的导出,即

...
<input type="text" class="form-control" id="name"
       required
       [(ngModel)]="model.name" name="name"
       #name="ngModel">
...
<input type="text" class="form-control" id="lastname"
       required
        [(ngModel)]="model.lastname" name="lastname"
        #lastname="ngModel">

【讨论】:

  • 嗨@Vega,当我们将 ngModel 分配给模板引用变量时,它提供了哪些所有功能?示例:触动的、无效的、肮脏的、原始的。还有什么?
  • @variable .value、.focus()、blur() 等...任何你可以通过 getElementbyId() 获得的东西
  • 如何在类文件中访问这些?
  • @variable 有 '@ViewChild' 属性装饰器
  • 好的,或者我们也可以通过点击传递它,对吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多