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方法

你可能感兴趣的:(Angular中的Service的作用和用法)