3種建立自定義服務的方式。
factory
service
provider
大家應該知道,angularjs是後台人員在工作之餘發明的,他主要應用了後台早就存在的分層思想。所以我們得了解下分層的作用,如果你是前端人員不了解什麼是分層,那麼你最好問問你後台的小夥伴。
dao層:就是model層,在後台時,這一層的作用,就要是寫與資料庫互動資料的一層,在angularjs裡就主要是寫ajax的。
service層:主查寫邏輯**的,但在angularjs裡也可以持久化資料(充當資料容器),以供不同的controller高用。
controller層:即控制層,在angularjs裡就是寫控制器的。控制器裡盡量不要寫那些不必要的邏輯,盡量寫在service層裡。
所以,就有了建立自定義服務的三種方式。
factory方式建立的服務,作用就是返回乙個有屬性有方法的物件。相當於:var f = myfactory();
charset="utf-8">
script>
head>
ng-controller="myctrl">
}p>
div>
//建立模型
//通過工廠模式建立自定義服務
() ;//定義乙個object物件'
service.name = "張三";
var age;//定義乙個私有化的變數
//對私有屬性寫getter和setter方法
service.setage = function
(newage)
service.getage = function
() return service;//返回這個object物件
});//建立控制器
($scope, myfactory) );
script>
body>
html>
在自定義服務裡注入服務示例,但不能注入$scope作用域物件。
service.name = "張三";
//請求資料
service.getdata = function
()) .error(function
());
return d.promise;
}
return service;
});($scope, myfactory) ,function
(data));;
});
通過service方式建立自定義服務,相當於new的乙個物件:var s = new myservice();,只要把屬性和方法新增到this上才可以在controller裡呼叫。
//需要注意的是:在注入provider時,名字應該是:providername+provider
(myproviderprovider));
() ;
//注意的是,setter方法必須是(set+變數首字母大寫)格式
在過濾器中使用服務:
}h1>
div>
() });
(hexafy) ;
}]);
script>
body>
AngularJs簡單介紹
angularjs angularjs是一款由google公司開發維護的前端mvc框架,其克服了html在構建應用上的諸多不足,從而降低了開發成本提公升了開發效率。angularjs與jquery區別 jquery 準確的說是乙個類庫 類庫是一系列函式的集合 dom為驅動核心 angularjs 是...
Angularjs 初級 簡單介紹
angularjs是乙個基於mvc 處理模式 實現了mvvm 資料雙向繫結 的用於開發動態 web專案的框架。angularjs 是一款優秀的前端js框架,angularjs有著諸多特性,最為核心的是 mvc 模組化 自動化雙向資料繫結 語義化標籤 依賴注入等等。使用步驟 1.2.定義模組 3.定義...
簡單介紹 服務發現
服務發現是指使用乙個註冊中心來記錄分布式系統中的全部服務的資訊,以便其他服務能夠快速的找到這些已註冊的服務。從客戶端角度來看,註冊中心起到的作用包含兩個 1 伺服器熱插拔 但是,要仔細思考乙個問題?客戶端的數量本來就是大量存在的,隨時都有可能上線和下線,讓註冊中心和客戶端之間保持長連線是否合理?我覺...