首页 > Web开发 > 详细

AngularJS Service vs Factory 总结(持续更新中...)

时间:2015-05-18 13:08:52      阅读:275      评论:0      收藏:0      [点我收藏+]

首先,看一看方法:

    factory:

factory(name, $getFn);

    service:

service(name, constructor);


再看看例子使用:

    定义一个angular module

var module = angular.module(‘myapp‘, []);

    使用service:

module.service(‘userService‘, function(){
    this.users = [‘John‘, ‘James‘, ‘Jake‘];
});

    使用factory:

module.factory(‘userService‘, function(){
    var fac = {};
    fac.users = [‘John‘, ‘James‘, ‘Jake‘]; 
    return fac;
});

service 和 factory 定义了一个service object/function。它们都是singleton service object,可以被任意的controller、service、directive 使用。


看一看使用上的区别:

AngularJS 的 service:

module.service(‘MyService‘, function() {
    this.method1 = function() {
            //..
        }
 
    this.method2 = function() {
            //..
        }
});

AngularJS 的 factory:

module.factory(‘MyService‘, function() {
     
    var factory = {}; 
 
    factory.method1 = function() {
            //..
        }
 
    factory.method2 = function() {
            //..
        }
 
    return factory;
});

service 中使用this.methodName,而在 factory 中,创建一个 facotry object ,然后将 方法 assigned 给这个factory。

AngularJS Service vs Factory 总结(持续更新中...)

原文:http://my.oschina.net/pingjiangyetan/blog/416146

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!