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