AngularJS は MV* フレームワークであり、クライアント側のシングルページ アプリケーションの開発に最適です。これは機能的なライブラリではなく、動的な Web ページを開発するためのフレームワークです。 HTML の機能を拡張し、動的なデータ バインディングを提供することに重点を置いており、他のフレームワーク (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-controllers」を定義することで制御できます
ただし、どのような状況であっても、同じファイル内にある場合は、同じ本体内で「ng-app」を 1 つだけ使用するのが最善です
追加: Angular JS での
最近のテストでは textarea の値をバックグラウンドに渡すために使用されていましたが、バックグラウンドはそれを受け取ることができませんでした。コードは次のように記述されています:
<textarea rows="15" ng-model="notice.content" style="width:65%">{{ notice.content }}</textarea>
その後、それを修正して 2 つのテキストエリア間のコンテンツを削除したところ、背景がそれを受信できるようになりました。Angular JS にはまだ明確にする必要があるメカニズムがいくつかあるようです。
<textarea rows="15" ng-model="notice.content" style="width:65%"></textarea>