首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AngularJS -为什么使用服务?

AngularJS -为什么使用服务?
EN

Stack Overflow用户
提问于 2014-08-09 06:51:27
回答 1查看 105关注 0票数 0

我一直在一个新项目中使用AngularJS,我真的很喜欢它。所以我想我会用它来做我未来所有的网络项目。我对Angular中的不同类型的提供者做了大量的阅读,并使用了大量的工厂和值。

我真的不明白为什么你需要使用一个服务。

Service的功能似乎等同于从工厂函数返回具有属性和方法的对象文字。例如:

代码语言:javascript
复制
module.service('MyService', function () {
    this.value = 'Hello';

    this.sayValue = function () {
        alert(this.value);
    };
});

module.factory('MyFactory', function () {
    // Can also do some things before return statement
    return {
        value: 'Hello',
        sayValue: function () {
            alert(this.value);
        }
    };
});

工厂还增加了一些功能,能够在遇到返回语句之前执行一些操作。

谁能解释一下他们在服务和工厂使用之间的界限是什么?

提前感谢

EN

回答 1

Stack Overflow用户

发布于 2014-08-09 18:55:33

https://docs.angularjs.org/guide/providers#service-recipe上的文档所示,如果您想要执行以下操作:

代码语言:javascript
复制
myApp.factory('unicornLauncher', ["apiToken", function(apiToken) {
  return new UnicornLauncher(apiToken);
}]);

然后你可以这样做:

代码语言:javascript
复制
myApp.service('unicornLauncher', ["apiToken", UnicornLauncher]);

医生说这是

简单多了!

但我不得不说,在我看来,这并不清楚,在这种情况下,节省一行代码是不值得的。为了清晰和灵活,我现在总是使用工厂。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25213374

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档