1.AngularJs指的是angular 1.x框架,Angular一般指的是2和4 2.angularjs是什麼:是一個js框架,幫助我們寫頁面的,是由谷歌公司創建,遵循MIT協議,開源開放 3.angularjs主要應用於增刪改查等數據操作比較頻繁的,比如說購物車,後臺管理系統。然而游戲,圖形 ...
1.AngularJs指的是angular 1.x框架,Angular一般指的是2和4
2.angularjs是什麼:是一個js框架,幫助我們寫頁面的,是由谷歌公司創建,遵循MIT協議,開源開放
3.angularjs主要應用於增刪改查等數據操作比較頻繁的,比如說購物車,後臺管理系統。然而游戲,圖形界面的編譯器這種頻繁的操作dom模型是不適用的。
4.angularjs的特性:
(1)MVC模式(數據模型,視圖,控制器三部分)
(2)模塊系統
(3)指令系統
(4)依賴註入
(5)數據雙向綁定
5.angularjs的缺點
(1)對dom操作支持較弱,當然也可以使用jq
(2)html中過多指令,事件綁定的操作,耦合度較高
6.為什麼需要mvc,js模塊化
(1)代碼規範越來越大,切分職責是大勢所趨
(2)為了復用代碼,很多邏輯都是一樣的,封裝
(3)為了方便後期的維護,修改一塊功能不影響其他功能
7.下麵是一些angularjs的使用語法:
(1)表達式:註意,使用angularjs時,需要先下載引入到項目目錄中
(2)在html文件中,寫angularjs的語句時,要在父標簽的外部寫一條指令,用來知名入口文件,ng-app。
(3){{1+2}} //3
(4){{1+2}}--{{[1,2,3,4][2]}}--{{{name:’allen’}.name}}--{{2>1?’haha’:’heihei’}}
(5)輸出結果是:3--3--allen--haha
(6)表達式定義變數:
只要賦值了在上面就能使用,不是說一個變數在上面定義,只能在下麵使用,而angularjs定義了變數之後,可以在變數前面使用,類似於變數提升,但又不完全是變數提升,因為這個輸出的就是變數的值,並不是undefined
(7)還有一個問題就是,我們在給一個變數賦值的時候,angularjs會把變數的值,執行一遍然後輸出出來,而實際上我們不想輸出,這時,就有了另外一條指令ng-init在這條指令裡面寫變數就可以在下麵用,註意指令是ng-什麼,這個指令是只能寫在標簽裡面的
(8)其實ng-app是為了定義主模塊的入口,就相當於在這個主模塊裡面寫js代碼。
8.定義主模塊:
var app = angular.module(‘myapp’,[])//第一個參數是模塊名,第二個參數先寫一個空數組
app.controller(‘mycontroller’,function($scope){//第一個參數是控制器名,第二個參數是函數
$scope.name = “二狗子”//註意函數的參數$scope是不可以修改的,叫依賴註入特性
})
<div ng-controller=”mycontroller”>
{name}//這是一個封地,說明是mycontroller這個控制器控制的,是可以訪問數據的
</div>
9.介紹一個指令:ng-bind:阻止花括弧閃現,因為當運行時不會執行這一句,當讀到引入angularjs的代碼的時候,angular會執行這句話,並且把標簽原有的內容隱藏掉,顯示現在
10.有一個依賴註入,是$scope,是作為一個函數的參數進行註入的,但是當項目上線的時候,需要壓縮代碼,會把原本長的參數,壓縮成一個短的字母,所以就不能用了,所以angular想了一個方法,用數組接收一下。
app.controller(“mycontroller”,[‘$http’,’$scope’,function(a,b){
b.name = “二狗”
}])
11.除了$scope這種函數參數不叫服務,別的在函數的參數裡面進行依賴註入的叫做服務,每一個服務都會提供一個功能,比如說:$rootscope作用:往根作用域掛數據,全局的,這是必須有控制器的,還有一種方法也可以實現全局,不用使用控制器
12.app.run(function($rootscope){
$rootscope.tel = ‘1111’
})
註意一種嵌套寫法,子元素可以繼承父元素的變數,但是父元素不可以機車繼承子元素的變數,全局變數都可以使用。