1.Angular優點 1. 模板功能強大豐富,並且是聲明式的,自帶了豐富的Angular指令; 2. 是一個比較完善的前端MVC框架,包含模板,數據雙向綁定,路由,模塊化,服務,過濾器,依賴註入等所有功能; 3. 自定義Directive,比jQuery插件還靈活,但是需要深入瞭解Directiv ...
1.Angular優點
1. 模板功能強大豐富,並且是聲明式的,自帶了豐富的Angular指令;2. 是一個比較完善的前端MVC框架,包含模板,數據雙向綁定,路由,模塊化,服務,過濾器,依賴註入等所有功能;
3. 自定義Directive,比jQuery插件還靈活,但是需要深入瞭解Directive的一些特性。
4. ng模塊化比較大膽的引入了Java的一些東西(依賴註入),能夠很容易的寫出可復用的代碼,對於敏捷開發的團隊來說非常有幫助,我們的項目從上線到目前,UI變化很大,在摸索中迭代產品,但是js的代碼基本上很少改動。 2.核心思想 依賴註入,模塊化,雙向綁定,語義化標簽 3.適合的開發工具 sublime webStorm 調試工具--->chrome 4.為了效果看起來更好,引入了bootstrap.min.css (1)實現目標 在文本框內輸入文本,點擊提交之後,展示在任務列表中(以下是實現代碼)
1 <!doctype html> 2 <html lang="en" ng-app="todoList"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>todoList</title> 6 <link href="css/bootstrap.min.css" rel="stylesheet" type="text/css"/> 7 </head> 8 <body ng-controller="TaskCtrl"> 9 <div class="input-group"> 10 <input class="from-control" type="text" ng-model="task" /> 11 <span class="input-group-btn"> 12 <button class="btn btn-default" ng-click="add()">提交</button> 13 </span> 14 </div> 15 <h4 ng-hide="tasks.length==0">任務列表</h4><!--先生成標簽--> 16 <!-- <h4 ng-if="tasks.length>0">任務列表</h4>需要時候才生成標簽--> 17 <ul class="list-group"> 18 <li class="list-group-item" ng-repeat="item in tasks">{{item}} 19 <a href="javascript:;" ng-click="tasks.splice($index,1)">刪除</a> 20 </li> 21 </ul> 22 <script type="text/javascript" src="js/angular.js"></script> 23 <script type="text/javascript"> 24 var app = angular.module('todoList',[]); 25 app.controller('TaskCtrl', function ($scope) { 26 $scope.task = ''; 27 $scope.tasks = []; 28 $scope.add = function(){ 29 $scope.tasks.push($scope.task); 30 }; 31 }); 32 </script> 33 </body> 34 </html>Angular demo1
註意: (1)<html lang="en" ng-app="todoList"> var app = angular.module('todoList',[]); 在標頭添加ng-app="名字",和JS裡邊模塊名字對應。 (2)ng-repeat="item in tasks" 重覆,tasks 與JS中的數組名稱對應。 (3)<body ng-controller="TaskCtrl"> 添加控制器,與JS中控制器名字對應。 (4)ng-model="task" 文本框輸入的值,與JS中變數名字對應。 (5)ng-click="add()" 添加點擊事件,在JS中添加點擊事件的方法。 (6)ng-hide="tasks.length==0" 數組的長度為0的時候,標題提示不顯示。 (7)ng-click="tasks.splice($index,1)" 點擊刪除時候,根據數組的角標來刪除。