Angular中的Service的作用和用法
阿新 • • 發佈:2019-02-18
Angular中的Service作用和用法
AngularJS中有三大概念:
- directive(指令)
- controller(控制器)
- service(服務)
作用:在應用中不同程式碼塊(域)中共享資料
如果是通過scope來維護資料是非常粗暴的一種方法,因為scope可以被controller,directive,model的影響,所以scope很容易就會崩潰或者變髒,所以通過一種集中的途徑來管理所有共享的資料,然後再通過某種方法來請求修改它,這樣不僅僅會更加清晰,並且還可以應對應用體積的不斷增加的時候,也比較容易被管理。另外還可以讓你程式碼保持模組化,一旦你在其他專案中需要用到這個service,你沒有必要在scope,controller,filter等東西里面到處查詢相關程式碼,因為所有controller,filter,scope相關的均在service裡面程式碼如下:
首先建立一個新的service
var module = angular.module("my.new.module",[]);
module.service('book',['$rootScope',function($rootScope){
var service = {
books:[{tit:'Magician',author:'malu'},
{tit:'Magician',author:'malu'}
],
addBook: function(book) {
service.books.push(book);
$rootScope.$broadcast('books.update');
}
}
return service;
}]);
這裡是需求管理一個book陣列,同時還帶有addBook方法