angular 模組
模組是用來組合相關元件、指令、服務等的乙個功能塊。可以理解為就是對乙個應用所要用到的各個部分按照一定的規律進行歸類,從而組成乙個完整的應用。
angular 模組可以通過 angular.module(name, requires) 方法生成:
name: 模組的名字;
requires: 模組的依賴列表(可以被注入到模組中的物件列表),因為 angular.module(name) 為獲取此模組,所以,若該模組沒有需要依賴的模組,此引數需設定為空陣列。
angular.module(name) 相當於 angularjs 模組的 getter 方法,用了獲取對模組的引用。
使用模組的好處:
保持全域性命名空間的清潔;
編寫測試**更容易,並能保持其清潔,以便更容易找到互相隔離的功能;
易於在不同應用間復用**;
使應用能夠以任意順序載入**的各個部分。
angular 模組包含什麼?
結構化 angular 模組
建議把應用程式分解成多個模組:
服務模組:用於服務宣告
指令模組:用於指令宣告
過濾器模組:用於過濾器宣告
應用層模組:該模組依賴於上述模組
這樣分解的原因是,在測試中經常需要忽略初始化**,這往往很難測試。通過把它放到乙個單獨的模組中在測試中很容易被忽略。通過只載入模組,測試也可以更加集中。
module 的載入和依賴
載入module 的載入分為兩個階段:config 和 run。
config:在模組載入階段,angularjs 會在 provider 註冊和配置的過程中對模組進行配置。在整個 angularjs 的工作流中,這個階段是唯一能夠在應用啟動前進行修改的部分。只有 providers 和 constants,可以注入到 config 中。
angularjs 會以這些函式的書寫和註冊順序來執行它們,也就是說我們無法注入乙個尚未註冊的 provider(唯一例外的是 constant() 方法,這個方法總會在所有配置塊之前被執行)。
.config(function ($provide) else }}}
} order.js
(function () ).filter('filter', function () ).config(function () ).run(function () ).directive('directive', function () {
console.log('directive-------4')
return {
restrict: 'e',
compile: function () {
console.log('directive-compile-------5');
return {
pre: function prelink () {
console.log('compile-prelink-------11')
post: function postlink() {
console.log('compile-postlink-------12')
link: function () {
console.log('directive-link');//有compile時不執行
session執行機制
session機制是一種伺服器端的機制,伺服器使用一種類似於雜湊表 的結構 也可能就是使用 雜湊表 來儲存資訊。當程式需要為某個客戶端的請求建立乙個session的時候,伺服器首先檢查這個客戶端的請求裡是否已包含了乙個session標識 稱為sessionid,如果已包含乙個sessionid則說明...
try catch finally執行機制
finally的執行 如下的程式所示,注釋中是執行的順序 public class test public static string test finally public static string test1 finally其實是僅在return 語句執行前執行,如果return 乙個函式,那...
runtime執行機制
這篇文章主要介紹的是runtime是什麼以及怎麼用!希望對讀者有所幫助!第乙個問題,1 runtime實現的機制是什麼,怎麼用,一般用於幹嘛?runtime是一套比較底層的純c語言api,屬於1個c語言庫,包含了很多底層的c語言api。在我們平時編寫的oc 中,程式執行過程時,其實最終都是轉成了ru...