angularjs具有自身的幾個特點:
1、資料的雙向繫結
雙向繫結是乙個比較有社會主義特色的東西,只要有乙個人出問題其他人也都會連帶出來。也就是說當module中資料發生了變化,那麼view中所就發生相應的變化;反之如果view中發生的變化也會同時修改module中的資料。
2、模板
模板就是最終要顯示到頁面中所展示的內容,在angularjs中也就是每乙個html檔案。
可以乙個完整的html檔案也可以一段html片段。可以像其他語言那樣include到母頁面中,做為整個頁面的一部分。
在angularjs中模板的操作並非是innerhtml的字串操作而是dom的變化,因此可以對dom進行擴充套件(使用directive指令)。
angularjs的語法有些像php smarty的語法,使用雙大括號的方式「}」。
3、mvc
現在每乙個模板庫都要整乙個mvc(model - view - controll);angularjs的mvc更接近於mvvc(moodel - view - viewmodel)。
model:
資料來源,一切資訊的**。angularjs中特別的一點是沒有像其他語言的setter/getter方法,這個東西最讓我煩了;每次都弄的我很暈。
viewmodel:
它是乙個用來提供特別資料和方法,從而維護指定view物件。
viewmodel是$scope的物件,只存在於angularjs的應用中。$scope只是乙個簡單的js物件,這個物件使用簡單的api來偵測和廣播狀態變化。
controller:
controller說的好聽些就是:紐帶,橋梁,中介軟體,紅娘起著承上啟下的功能,將上下(model和view)兩個內容結合起來,使它們喜結良緣;說的難聽一些就是:拉皮條的,和稀泥的,二道販子。總而言之,它就是傳信兒的,遞話兒的主兒。
controller負責初始化以及引數化$scope方法用以控制行為。其並不儲存狀態也不和遠端互動。
view:
view是經angularjs編譯後渲染以及相應的繫結事件後生成的html。
4、依賴注入(di)
一提到「注入」,我總是覺得好像要有什麼東西被注到身體裡似的,感覺的不爽。
其實它就是依賴!也就是說我的這段angularjs功能需要用到一些angularjs的其他功能,而這些功能是需要通過依賴來加入的。
這些依賴分為:
引數式依賴,即做為乙個方法的引數形式傳進來的相應服務。
$inject注入:
把**中所需要的服務通過$inject注入進去,這個想法可能要適應一下。
抄了網上的一段**,但我會把含義在下面標明:
1)、var mymodule = angular.module( 'mymodule', );
2)、mymodule.factory( 'notify', [ '$window', function ( win )
} ] );
3)、function mycontroller ( scope, notifyservice ) ; };
4)、mycontroller.$inject = [ '$scope', 'notify' ];
**含義:
1)、定義了model資料來源,名為「mymodule」
2)、定義工廠方法(notify),並接收引數msg後彈出顯示
3)、定義controller(mycontroller)並定義callnotify方法用以呼叫notifyservice
4)、$inject注入,利用資料為mycontroller方法傳入「$scope」和「notify」方法
5、指令(directives)
directives是乙個比較神奇的東西。可以利用特性自定義乙個標籤並通過自定義的模板將其替換或做為此標籤的子節點加入。
js:mymodule.directive( 'mytag', function ()
} );
html:
澄清一些概念
參考 以前一直分不清 authentication 和 authorization,其實很簡單,舉個例子來說 你要登機,你需要出示你的 passport 和 ticket,passport 是為了證明你張三確實是你張三,這就是 authentication 而機票是為了證明你張三確實買了票可以上飛機...
Windws OS 一些概念
答 並行是多個執行緒同時進行 併發是多個執行緒在同一時間段內進行。並行優於併發。1.函式呼叫 同步是函式執行完畢才返回,絕大多數函式都是這樣的 非同步是函式開始執行時就返回,自己的執行仍在繼續,本質是多執行緒。2.執行緒排程 同步 各執行緒間有明確的次序關係。互斥 臨界資源某一時刻只能被乙個執行緒訪...
Webpack 一些概念
打包工具有多種,實際中 webpack 接觸的比較多,目前中文文件跟英文文件有些對不上,其中有些概念比較分散,對此進行集中的整理。任何時候,乙個檔案依賴於另乙個檔案,webpack 把這種情況視為依賴關係。這讓 webpack 可以接受非 資源,例如或字型,並且可以將它們作為依賴提供給你的應用程式。...