回答
雙向數據綁定
兩AngularJS中的單向數據綁定意味着將數據從模型綁定到視圖,反之亦然(數據從範圍/控制器流向視圖,從視圖流向範圍/控制器)。 'ng-model'是一個用於實現雙向數據綁定的角度指令。無論視圖是否要求更新的數據,以及從視圖對該模型所做的任何修改都會立即反映回作用域/控制器,從Scope/Controller對該模型的任何修改都將自動傳播到視圖。
單向數據綁定
單向數據在AngularJS結合是指從模型數據綁定到視圖(從範圍/控制器數據流向圖)。 'ng-bind'是一個用於實現單向數據綁定的角度指令。在綁定之後,無論視圖是否要求更新的數據,範圍/控制器對該模型的任何修改都會自動傳播到視圖。從視圖到控制器的任何模型更改都不會發生傳播。
一次性數據綁定
正如其名稱所暗示的,綁定發生只有一次,即在第一摘要週期。一次綁定允許模型或視圖在控制器在第一個摘要循環中設置的值的基礎上更新一次。從AngularJS 1.3起,您可以使用「::」令牌來創建一次性數據綁定。一旦這個值穩定下來(這基本上意味着該值已被定義),這些綁定會註銷他們自己的$ watch()函數。
一次性綁定用於在頁面穩定後不會更改的值。 「穩定」通常意味着該表達式已被賦值。一旦設置了該值,對控制器中的值的更改將不會更改顯示的值,直到頁面重新加載。 語法是{{:: expression}}。
因此,對於頁面穩定後不會更改的值或列表,請務必使用一次性綁定。這將減少我們應用程序中不必要的觀察者的數量。
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.0/angular.min.js"></script>
<div ng-app="myApp" ng-controller="myCtrl">
<div ng-repeat="customer in ::customers" >
{{::customer.name}}
({{customer.address}})
<button ng-click="change(customer)">Change</button>
</div>
</div>
<script>
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
$scope.customers = [{
name: 'Gloria Jane',
address: 'Silo Park, 9300 East Orchard Road, Greenwood Village, CO, 80114'},{
name: 'Nicholas Michael',
address: 'Village Park, East Lake Avenue, Aurora, CO, 80016'
}];
$scope.change = function(customer) {
customer.address = 'Cherry Creek State Park, 4201 S Parker Rd, Aurora, CO 80014, USA';
customer.name ='Tessy Thomas';
};
});
</script>
雙向數據綁定
雙向數據綁定提供能夠毫不費力地採取在您的範圍屬性的值和上視圖顯示它同時還具有一個文本輸入更新它沒有能力任何瘋狂的邏輯
一次性數據綁定
首先,我要肯定地指出,這是不是單向的數據綁定。這種事情並不是Angular提供的慣例。一次綁定允許模型或視圖在控制器在第一個摘要循環中設置的值的基礎上更新一次。
您提供的[鏈接](http://kodypeterson.com/angularjs-the-3-types-of-data-binding/)告訴我要安裝視頻播放器才能繼續。請更新您的答案。 –
「ng-bind」只是AngularJS常規{{expression}}語法的html屬性版本。因此,<div ng-bind="productName"></div>
相當於<div>{{productName}}</div>
。
一次性綁定用於在頁面穩定後不會更改的值。 「穩定」通常意味着該表達式已被賦值。一旦設置了該值,對控制器中的值的更改將不會更改顯示的值,直到頁面重新加載。
語法是{{::expression}}
。按照上面的示例,語法是
<div>{{::productName}}</div>
用於確定一個頁面是穩定的算法的完整說明,可以在這裏找到:
這些不是相互排斥的概念。您可以一次性綁定NG綁定,以及:
< DIV NG綁定= 「::產品名稱」 > </DIV >
- 1. ngBindTemplate和ngBind有什麼區別?
- 2. 事件綁定和屬性綁定有什麼區別?
- 3. 鏈接和綁定有什麼區別?
- 4. 綁定和調用有什麼區別?
- 5. 角度組件:單向和屬性綁定有什麼區別?
- 6. 雙向數據綁定和反應性有什麼區別?
- 7. 我想問這些KO綁定之間的區別是什麼
- 8. Google-closure:Goog.provide與Goog.require的區別是什麼
- 9. CrmSvcUtil.exe與SvcUtil.exe的區別是什麼
- 10. NSURLSessionDataTask與NSURLSessionDownloadTask的區別是什麼
- 11. 這兩個綁定聲明與Google Guice有什麼區別?
- 12. python與PIL和ImageMagick綁定有什麼區別?
- 13. 靜態與動態綁定 - 有什麼區別?
- 14. 是什麼區別:
- 15. c + +動態綁定和java動態綁定有什麼區別?
- 16. Castor XML綁定和JAXB綁定有什麼區別
- 17. 動態綁定與動態綁定之間有什麼區別Objective C C
- 18. boost :: bind與地圖綁定,綁定std :: pair和std :: map :: value_type有什麼區別?
- 19. RxJava 2可取消和一次性使用有什麼區別?
- 20. 捆綁安裝 - 部署和捆綁包的區別是什麼
- 21. 爲什麼需要連續多次綁定一個緩衝區?
- 22. XSLT屬性何時與是否有什麼區別
- 23. 值與綁定之間的區別
- 24. ReactiveCocoa:與Signal或SignalProducer綁定的區別?
- 25. 在Angular2中綁定屬性與[attr.attributeName]和[attributeName]的區別
- 26. ng-if一次性綁定?
- 27. 爲什麼XmlNodeList是一次性的?
- 28. 綁定和綁定之間的區別
- 29. 繼承與類別有什麼區別
- 30. NSTextField和NSTextFieldCell有什麼區別,以及我綁定了哪些區別?
納克綁定不是單向的。從文檔:「ngBind屬性告訴Angular將指定的HTML元素的文本內容替換爲給定表達式的值,並在該表達式的值改變時更新文本內容。」 – Noel
@Noel; @JQueryKing。謝謝(你的)信息。我已經更新了該問題以刪除「單向綁定」。 – sam113