1. 程式人生 > >angular中ng-bind和ng-model的區別

angular中ng-bind和ng-model的區別

ng-bind和ng-model的區別
AngularJS的資料繫結有ng-bind和ng-model,一般用於如下:
<input ng-model="object.xxx">
<span ng-bind="object.xxx"></span>

ng-bind是單向繫結,由作用於$scope到view層,且在HTML控制元件(HTML控制元件有:input、select、button和textarea)中不可顯示。
ng-model是雙向繫結,$scope<--->view層。
{{}}用於顯示資料。

完整程式碼

<!DOCTYPE html>
<html>
<meta charset="utf-8">
<head>
<style>
div textarea{
  background-color:yellow;
}
</style>
<script src="https://cdn.static.runoob.com/libs/angular.js/1.4.6/angular.min.js"></script>
</head>
<body ng-app="myNoteApp">
<div class="aa" ng-controller="myNoteCtrl">
<h2>我的筆記</h2>
<p>
<textarea ng-model="message" rows="10" cols="20" maxlength="100">
</textarea>
</p>
<p>
<button ng-click="save()">儲存</button>
<button ng-click="clear()">清除</button>
</p>
<p>Number of characters left: <span ng-bind="left()"></span></p>
<p>Number of characters left(method2): <span>{{leftvar}}</span></p>
</div>
<script>
var app = angular.module("myNoteApp",[]);
app.controller("myNoteCtrl",function($scope){
	$scope.message = "";
	$scope.leftvar = 0;
	$scope.left = function() {$scope.leftvar = 100 - $scope.message.length;return $scope.leftvar;};
	$scope.clear = function() {$scope.message = "";};
	$scope.save = function() {alert("Note Saved");};
});
</script>
</body>
</html>