簡體   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