angularjs沒有main方法,angular使用模組的概念來代替main方法。模組充許我們通過宣告的主式來描述應用中的依賴關係,以及如何進行組裝和啟動。使用這種方式的原因如下:
1。模組是宣告式的。這就意味著它編寫起來更加容易,同時理解 起來也很容易,閱讀它就像讀普通 的英文一樣。
2。它是模組化的。這就迫使你去思考如何定義你的元件和依賴關係,讓它們變得更加清晰。
3。它讓測試更加容易。在單元測試中,你可以有選擇地加入模組,並且可以避免**中存在無法進行單元測試的內容。同時,在場景測試中,你可以載入其穹額外的模組,這樣可以更好地和其它元件配合使用。
這樣可以使得模組管理更加容易,因為它們都是良好的、完備的**塊,每個模組有且只有一種職能。同時,單元測試可以只載入它們所關注的模組,這樣就可以減少初始化的次數,單元測試也會變得更精緻、更專注。
二、載入和依賴
模組載入動作發生在兩個不同的階段,這一點從函式名上面就可以反映出來,它們分別是config**塊和run**塊(或者叫做階段)。
1.config**塊
在這一階段裡面,angularjs會連線並註冊 好所有資料來源。因此,只有資料來源和常量可以注入到config**塊中,那些不確定是否 已經初始化好的服務不能注入進來。
2.run**塊
run**塊用來啟動你的應用,並且在注射 器創 建 完成之後開始執行。為了避免在這一點開始之後再對系弘進行配置操作,只有例項和常量可以被 注入到run**塊中,你會發現,在angular中,run**塊是與main方法最類似的東西。
三、快捷方法
1.config(configfn)
利用此方法可以做一些註冊 工作,這些工作需要在模組載入時完成。
2.constant(name,object)
此方法會首先執行,所以你可以用它來宣告整個應用範圍內的常量,並且讓它們在所有配置(config方法)和例項(後面的所有方法,例如controller、service等)方法中可用。
3.controller(name,constructor)
它的基本作用是配置好控制器方便後面使用。
4.directive(name,directivefactory)
可以使用此方法在應用中建立指令。
5.filter(name,filte***ctory)
允許你建立命名的angularjs過濾器,就像前面章節所討論的那樣。
6.run(initializationfn)
如果你想要在註冊器啟動之後執行某些拐杖作,面這些操作需要在頁面對使用者可用之前執行,就可以使用此方法
7.value(name,object)
允許在整個應用中註冊值。
8.factory(name,factoryfn)
function greeter(salutation);
function greeter(a)
this.$get=function(a){
return new greeter(a);
greeterprovider.setsalutation('namaste');
每當有人需要乙個greeter例項時,angular就會在內部呼叫$get方法。
所以,對於以下**,你需要保證在整 個誚用中只會使用一次。
angularjs學習筆記
不要用控制器去繼承控制器,通用的通過service來通用 不要試圖服用controller,乙個控制器只負責乙個塊試圖 不要在controller中操作dom,這不是controller的職責,用指令只做 不要在controller中做資料初始化,ng有表單控制項 不要在controller中做資料...
angularjs 學習筆記
文件 function angular bootstrap element,modules config 第乙個引數,要繫結的元素,第二個引數要繫結的modules 第三個引數 暫不明確 controller welcomecontroller function scope angular.boot...
Angular JS 學習筆記
特定領域語言 指令 當關聯的html結構進入編譯階段時應該執行的操作,可以寫在名稱裡,屬性裡,css類名裡 本質上是函式 穩定的dom 繫結了資料模型的dom元素的例項不會在繫結的生命週期發生改變 作用域 用來檢測模型的改變和為表示式提供執行上下文的 angularjs 和其它模板系統不同,它使用的...