关于Angular中template variable reference的疑惑
大家好,有个奇怪的疑惑如下例:
<input #pin1 type="password">
<p>You entered: {{pin1.value}}</p>
如果在输入框任意输入,下方<p>
中内容无变化,说明pin1.value
没有值,间接说明#pin1
这个variable reference没起到作用?
另一方面我们加一个event binding,立刻有效
<input #pin2 type="password" (input)="test(pin2)">
<p>You entered: {{pin2.value}}</p>
where test=function(x){console.log(x);}
这次输入框任意输入,下方<p>
中内容相应变化,证明#pin2
这个variable reference开始工作,事实上event handler可以是任意函数,例如:
<input #pin3 type="password" (input)="test()">
<p>You entered: {{pin3.value}}</p>
where test=function(){}
也就是说只要且必须有event binding,variable reference才能起作用,请问这是为什么,另一个测试是:
<input #pin4 type="password" (blur)="test()">
<p>You entered: {{pin4.value}}</p>
where test=function(){}
任意输入无效,输入框失去焦点后立刻有效,所以我推断和event binding有关,与event种类和event handler具体实现无关,但是如何正确解释这个问题?我查看了官方doc也在stack overflow上提问了,可是无人回答= =,希望各位朋友帮忙,非常感谢!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我已解决了,感谢~