我想在提交表单时使用输入元素的属性。我阅读了模板引用变量的概念,它有助于在 Angular 中实现这种情况。
当我为输入元素的“id”属性分配一个值时,稍后当我尝试获取时,它会引发错误。它只允许模板引用变量来提取属性。
为什么我们不直接调用它的 ID 属性来访问 input 元素的属性
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'app-test',
// templateUrl: './test.component.html',
template : `
<input type="text" id = "{{idOne}}" #idTwo/>
<button type="text" (click) =
handleClickEvent(id.value)>Submit</button>
<button type="text" (click) = handleClickEvent(idTwo.value)>Submit
Again</button>`,
styles: [`p {color : red}`]
})
export class TestComponent implements OnInit {
handleClickEvent = (value : string) =>{
console.log(value);
}
public idOne = "testID";
constructor() { }
ngOnInit() {
}
}
当我提交第一个按钮(直接调用 ID)时,它会抛出错误说
无法读取未定义的值。
当我提交第二个按钮时,它会打印我输入的正确值。
所以我的问题是
模板引用变量是获取 HTML 元素属性的唯一方法吗?
你不能以传统方式获取属性(直接调用 id 属性)吗?