繫結一次

Angular 因擁有令人敬畏的雙向資料繫結而享有盛譽。預設情況下,只要模型或檢視元件中的資料發生更改,Angular 就會持續同步模型和檢視元件之間繫結的值。

如果使用太多,這會帶來成本有點慢。這將有更大的效能影響:

表現不佳: {{my.data}}

在變數名稱前新增兩個冒號::以使用一次性繫結。在這種情況下,只有在定義 my.data 後才會更新該值。你明確指出不要注意資料更改。Angular 不會執行任何值檢查,導致在每個摘要週期中評估的表示式更少。

使用一次性繫結的良好效能示例

{{::my.data}}
<span ng-bind="::my.data"></span>
<span ng-if="::my.data"></span>
<span ng-repeat="item in ::my.data">{{item}}</span>
<span ng-class="::{ 'my-class': my.data }"></div>

注意: 但是這會刪除 my.data 的雙向資料繫結,因此每當此欄位在你的應用程式中發生更改時,該檢視都不會自動反映在檢視中。因此**,僅將其用於在應用程式的整個生命週期內不會更改的值**。