ng-app屬性申明全部被包含的內容都屬於這個AngularJS應用,只有被具備ng-app屬性的DOM元素包含的元素纔會受AngularJs的影響。javascript
只需遇到$,你均可以只把它看做一個Angular對象。java
數據模型對象是指$scope對象,$scope對象是一個簡單的javascript對象,其中的屬性能夠被視圖訪問,也能夠同控制器進行交流,雙向數據綁定意味着視圖改變了某個值,數據模型會經過髒檢查,觀察到這個變化,而若是數據模型改變了某個值,視圖也會依賴變化從新渲染。數組
正如ng-app聲明全部被它包含的元素都屬於AngularJS應用同樣。DOM元素上的ng-controller聲明全部被它包含的元素都屬於某一個控制器。app
高效,能用在生產環境中的控制器代碼,並把它封裝在一個咱們稱之爲模塊的單元內。函數
在AngularJS中,模塊是定義應用的最主要方式。模塊包含了主要的應用代碼。一個應用能夠包含多個模塊,每個模塊都包含了包含了定義具體功能代碼。測試
優勢:對象
·一、保存全局命名空間的狀況;ip
二、編寫測試代碼更容易,並能保持其清潔,以便更容易找到互相隔離的功能;作用域
三、易找到互相隔離的功能;字符串
四、易於在不一樣應用間應用代碼;
五、使應用可以以任意順序加載順序加載代碼的各個部分;
AngularJS容許咱們使用angular.module()方法來聲明模塊;這個方法可以接受兩個參數,第一個模塊的名稱,第二個是依賴列表,也就是能夠被注入到模塊中的對象列表。
angular.module('myApp',[]);(myApp爲模塊名稱)
[]:字符塊數組,本模塊依賴於這些模塊,依賴須要在本模塊加載以前由注入器進行加載。
$scope對象是定義應用業務邏輯,控制器方法和視圖屬性的地方。
做用域是應用狀態的基礎,基於動態綁定,咱們能夠依賴視圖在修改時,馬上更新$scope,也能夠依賴$scope在其發生變化時,馬上從新渲染視圖。
Angular啓動並生成視圖時,會將根據ng-app元素,同$rootscope進行綁定。$rootscope是全部$scope對象的最上層,最接近全局做用域的對象。
$scope對象就是一個普通的javascript對象,咱們能夠在其上修改或添加屬性。
$scope對象在AngularJS中充當數據模型,但與傳統的數據模型不同,$scope並不負責處理和操做數據,它只是視圖和HTML之間的橋樑,它是視圖和控制器之間的膠水。
AngularJS應用的模版中使用多種標記,包括如下:
指令:將DOM元素增長爲可複用的DOM組件的屬性或元素
值綁定:模版語法{{}}能夠將表達式綁定到視圖上
過濾器:能夠在視圖中使用的函數,用來進行格式化
表單控件:用來檢驗用戶輸入的空間
在字符串模塊中插值操做,須要在你的對象中注入$interpolate服務。
$interpolate服務是一個能夠接受三個參數的函數,其中第一個參數是必需的。
text(字符串):一個包含字符串插值標記的字符串
mustHave Expression(布爾值):若是將這個參數設爲true,當傳人的字符串中含有表達式會返回null
trusted Context(字符串):AngularJS會對已經進行過字符串插值操做的字符串經過$sec.getTrusted()方法進行嚴格的上下轉義。