AngularJS 是一個 MV* 架構,最適於開發用戶端的單頁面應用。它不是個功能庫,而是用來開發動態網頁的架構。它專註於擴充 HTML 的功能,提供動態資料綁定(data binding),而且它能跟其它架構(如 JQuery 等)合作融洽。
<body ng-app="myNoteApp"><html><div ng-controller="myNoteCtrl"> <p><textarea ng-model="message" cols="40" rows="10" maxlength="100"></textarea></p><p>100/<span ng-bind="left()"></span></p></div></html><script type="text/javascript">var app=angular.module("myNoteApp",[]);app.controller("myNoteCtrl",function($scope){$scope.message = "";//顯示變更數量$scope.left = function() {return 100 - $scope.message.length;};//清除文字框$scope.clear = function() {$scope.message = "";};//執行儲存操作$scope.save = function() {alert("Note Saved");};});</script></body>
備忘:
如果在同一個表單中有多個“textarea”可以通過定義多個“ng-model”來控制
如果在不同的表單中操作不同的”textarea“ ,可以通過定義多個“ng-controller”來控制
但不管何種情況,如果在同一個檔案中,同一個body中最好只使用一個”ng-app“
補充:Angular JS 中的 <textarea>用法
最近測試用把 textarea 中的值傳往後台傳,不過後台收不到,代碼是這樣寫的:
<textarea rows="15" ng-model="notice.content" style="width:65%">{{ notice.content }}</textarea>
後來修改了一下,把兩個 textarea 之間的內容去掉了,後台就能收到了,看來Angular JS中還是有一些機制需要去弄清楚。
<textarea rows="15" ng-model="notice.content" style="width:65%"></textarea>