栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

AngularJS:工厂和服务?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

AngularJS:工厂和服务?

服务工厂




工厂和服务之间的区别就像功能和对象之间的区别一样

工厂供应商

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

  • 单例且仅创建一次

  • 可重复使用的组件

  • 工厂是在控制器之间进行通信(例如共享数据)的一种好方法。

  • 可以使用其他依赖

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

  • 无法注入

    .config()
    功能。

  • 用于不可配置的服务

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

  • 句法:

    module.factory('factoryName', function);

服务提供者

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

  • 单例且仅创建一次

  • 可重复使用的组件

  • 服务用于控制器之间的通信以共享数据

  • 您可以使用

    this
    关键字将属性和功能添加到服务对象

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

  • 用于简单的创建逻辑

  • 无法注入

    .config()
    功能。

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

  • 句法:

    module.service(‘serviceName’, function);

样本演示

在下面的示例中,我定义了

MyService
MyFactory
。请注意,
.service
我如何使用
this.methodname.
In
创建服务方法,
.factory
并创建了一个工厂对象并为其分配了方法。

AngularJS。服务


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

AngularJS .factory


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


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/448294.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号