繁体   English   中英

Angular2:绑定事件为0是什么意思?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM