[英]Angular2: What does binding event to 0 mean?
我正在从官方指南中学习Angular 2 。 我遇到了以下一段代码。
@Component({
selector: 'loop-back',
template: `
<input #box (keyup)="0">
<p>{{box.value}}</p>
`
})
export class LoopbackComponent { }
正如您在模板中看到的, keyup
事件被绑定为0
, (keyup)="0"
。 我不明白当一个事件绑定到一个数字时它意味着什么 。 在文档中,它说
code将
keyup
事件绑定到数字0
,可以使用最短的模板语句。 虽然该语句没有任何用处,但它满足Angular的要求,因此Angular将更新屏幕。
我也在互联网上钻研,但找不到关于将事件绑定到数字的任何解释。 有人可以帮我这个吗? 谢谢。
(keyup)="0"
意味着,当事件发生时,然后return 0
,这相当于“什么都不做”。 除了根本不添加任何事件绑定之外,没有更短的表达方式。
在该示例中使用事件绑定来使更改检测运行,默认情况下,每次调用事件处理程序时都会运行。
如果没有事件绑定,则没有事件处理程序,Angular将不会运行更改检测,这将导致{{box.value}}
不更新值。
我也不清楚,因为我认为Angular会触发任何异步事件的变化检测。 例如, Angular大学声明:
修补了以下常用浏览器机制以支持更改检测:
- 所有浏览器事件(点击,鼠标悬停,键盘等)
- setTimeout()和setInterval()
- Ajax请求
但这不是一个完整的事实,因为官方文件说:
只有当应用程序响应异步事件 (例如击键)时,Angular 才会更新绑定(以及屏幕)。 此示例代码将keyup事件绑定到数字0,可能是最短的模板语句。 虽然该语句没有任何用处,但它满足Angular的要求,因此Angular将更新屏幕。
因此,显然必须在应用程序中处理异步事件以触发更改检测,因此(keyup)=“0”
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.