AngularJS는 클라이언트측 단일 페이지 애플리케이션 개발에 가장 적합한 MV* 프레임워크입니다. 이는 기능적인 라이브러리가 아니라 동적 웹 페이지 개발을 위한 프레임워크입니다. 이는 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"을 여러 개 정의하여 제어할 수 있습니다.
다른 "텍스트 영역"을 다른 형태로 운영하는 경우 여러 개의 "ng-controller"를 정의하여 제어할 수 있습니다
하지만 어떤 상황이더라도 같은 파일에 있다면 같은 바디에 "ng-app" 하나만 사용하는 것이 가장 좋습니다
추가: Angular JS에서
텍스트 영역의 값을 백그라운드로 전달하는 데 사용된 최근 테스트에서 백그라운드가 이를 수신할 수 없었습니다. 코드는 다음과 같습니다.
<textarea rows="15" ng-model="notice.content" style="width:65%">{{ notice.content }}</textarea>
나중에 수정하여 두 텍스트 영역 사이의 내용을 제거했는데, 배경이 이를 수신할 수 있게 되었습니다. Angular JS에는 아직 명확히 해야 할 몇 가지 메커니즘이 있는 것 같습니다.
<textarea rows="15" ng-model="notice.content" style="width:65%"></textarea>