標籤:oca com color 筆記 字元 快速 val 故事 數組
壓縮公用程式:YUI-compressor
為了最佳化網頁功能,對一些指令檔進行壓縮,比如:刪除所有的注釋和空格等,簡化形參。但是AngularJs模組中可以聲明多種組件,如控制器、指令、過濾器、服務等。建立這些模組組件對象時,建構函式是由AngularJS調用的,故不能像普通函數那樣,聲明任意的形參。使得壓縮後的檔案無法使用,這時候採用標記式和行內式的數組形式(注意順序的對應關係),使得壓縮後依然可以使用。
依賴:實現功能的時候,如果需要某些模組,模組就是需要的依賴
AngularJS會自動根據依賴對象的形參名,建立需要的對象,最為實參傳遞進來——依賴注入!
ng模組常用的注入對象:
①.$http ②.$scope ③.$rootScope ④.$interval ⑤$timeout ⑥.$location ⑦.自訂服務
依賴注入的3種類型
1.推斷式
這種注入方式不需要關注參數的先後順序,ng會推斷服務是否存在。不能處理壓縮或者混淆後的代碼,只能處理原始代碼.
2.標記式
直接調用$inject屬性來完成依賴的注入
var ctrFunc=function ($scope,$show,$write) { $scope.funcBtn1=function(){ $show.show(); } $scope.funcBtn2=function(){ $write.write(); }}//對控制器的回呼函數,設定依賴注入時的標記ctrFunc.$inject=[‘$scope‘,‘$show‘,‘$write‘];app.controller(‘fanCtrl‘, ctrFunc);
3.行內式
允許開發人員將一個字元型數組作為對象的參數,在這個數組中,除了最後一個元素必須是函數體之外,都是服務名
app.controller(‘myCtrl’,[‘$scope’,’$http’,…function($scope,$http){}]);
強調:注意數組中相依模組的對應關係
樣本什麼的個人項目再說吧,基礎知識大致就這些了。
$injector注入器——依賴注入背後的故事
它可以快速定位到應用需要注入的各種服務,整個ng應用的注入對象都由$injector定位和建立。
$injector.has()à判斷一個服務是否存在
$injector.get()à得到服務的執行個體
AngularJs學習筆記6——四大特性之依賴注入