1. 程式人生 > >Angular中的Service的作用和用法

Angular中的Service的作用和用法

Angular中的Service作用和用法

  • AngularJS中有三大概念:

    1. directive(指令)
    2. controller(控制器)
    3. 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方法