雙向資料繫結

Angular 在它的引擎蓋下有一些魔力。它可以將 DOM 繫結到真正的 js 變數。

Angular 使用一個名為“ digest loop ”的迴圈,它在變數呼叫之後被呼叫 - 呼叫更新 DOM 的回撥。

例如,ng-model 指令將 keyup eventListener 附加到此輸入:

<input ng-model="variable" />

每次 keyup 事件觸發時,摘要迴圈都會啟動。

在某些時候,摘要迴圈遍歷回撥,該回撥更新此範圍的內容:

<span>{{variable}}</span>

這個例子的基本生命週期總結了(非常示意性地)角度如何工作::

  1. 角度掃描 html
    • ng-model 指令在輸入上建立一個 keyup 監聽器
    • expression inside span 新增回撥到摘要週期
  2. 使用者與輸入互動
    • keyup 聽眾開始摘要週期
    • 摘要週期呼叫回撥
    • 回撥更新跨越內容