AngularJS服务与工厂的优点和缺点

这个问题在这里已经有了答案:

  • angular.service vs angular.factory 9个答案

  • 服务工厂


    在这里输入图像描述

    工厂和服务之间的区别就像functionobject之间的区别

    工厂提供商

  • 给我们函数的返回值,即。 您只需创建一个对象,为其添加属性,然后返回相同的对象。当您将此服务传递到您的控制器时,对象上的这些属性现在将通过您的工厂在该控制器中可用。 (假设情景)

  • 独生子

  • 可重复使用的组件

  • 可以使用其他依赖项

  • 通常在服务实例需要复杂的创建逻辑时使用

  • 用于不可配置的服务

  • 如果您使用的是对象,则可以使用工厂提供者。

  • 语法: module.factory('factoryName', function);

  • 服务提供者

  • 给我们一个函数的实例(对象) - 您刚刚使用'new'关键字实例化,并且您将向'this'添加属性,服务将返回'this'。当您将服务传递到控制器时,这些属性通过你的服务现在可以在该控制器上使用'this'。 (假设情景)

  • 单身人士,只会被创建一次

  • 可重复使用的组件

  • 依赖项被注入为构造函数参数

  • 用于简单的创建逻辑

  • 如果您使用的是课程,则可以使用服务提供商

  • 语法: module.service('serviceName', function);

  • 在下面的例子中,我定义了MyServiceMyFactory 。 请注意在.service如何使用this.methodname.创建服务方法this.methodname..factory我创建了一个工厂对象并为其分配了方法。

    AngularJS .service


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

    AngularJS。工厂


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

    也看看这个美丽的东西

    对服务和工厂感到困惑

    AngularJS工厂,服务和提供商

    Angular.js:服务vs提供者vs工厂?

    链接地址: http://www.djcxy.com/p/77827.html

    上一篇: AngularJS services vs factory advantages and shortcomings

    下一篇: How to store User Data in AngularJs