当前位置: 首页 > 面试题库 >

我该如何扩展服务

林承悦
2023-03-14
问题内容

我还很陌生angularjs,因此无法找到任何文档或示例。我要做的是扩展基本服务,以便可以使用其他服务在基本服务下定义的方法。例如,说我有如下基本服务。

angular.module('myServices', []).

    factory('BasicService', function($http){
        var some_arg = 'abcd'
        var BasicService = {
            method_one: function(arg=some_arg){ /*code for method one*/},
            method_two: function(arg=some_arg){ /*code for method two*/},
            method_three: function(arg=some_arg){ /*code for method three*/},
        });
        return BasicService;
    }   
);

现在,我想定义一个从上述扩展的扩展服务,BasicService以便可以使用扩展服务中BasicService下定义的方法。也许像这样:

    factory('ExtendedService', function($http){
        var ExtendedService = BasicService();
        ExtendedService['method_four'] = function(){/* code for method four */}
        return ExtendedService;
    }

问题答案:

ExtendedService应该注入BasicService以便能够访问它。旁边BasicService是对象文字,因此您实际上不能将其称为函数(BasicService())。

.factory('ExtendedService', function($http, BasicService){
  BasicService['method_four'] = function(){};
  return BasicService;
}


 类似资料:
  • 问题内容: 有人可以告诉我如何在Kotlin中对扩展功能进行单元测试吗?由于它们是静态解析的,应该将它们作为静态方法调用还是作为非静态方法进行测试?另外,由于语言可以与Java完全互操作,因此应如何针对Kotlin扩展功能执行Java单元测试? 问题答案: 好吧,要测试一种方法(无论是否静态),您可以像实际代码那样调用它,并检查它是否做对了。 例如,假设此扩展方法在文件com / foo / Ba

  • 有人能告诉我该如何在Kotlin中对扩展函数进行单元测试吗?由于它们是静态解析的,应该将它们测试为静态方法调用还是非静态方法调用?另外,由于语言与Java是完全可互操作的,那么应该如何执行Kotlin扩展函数的Java单元测试呢?

  • 根据这些答案中的建议:对于laravel 4助手或基本功能,什么是最佳实践和最佳场所? 我已经创建了一个文件并将其添加到应用程序中。我的类应该扩展什么,如何在控制器中引用它? 我尝试在控制器中这样引用它: 但我得到控制器的方法没有找到。

  • 问题内容: 我正在尝试扩展Python,以用于越野比赛的结果。我想从格式为string的对象构造一个对象。我可以使用工厂设计模式和注释来完成此操作。我将如何通过覆盖和/或完成相同的任务? 使用下面的代码,构造一个对象会引发TypeError。请注意,未调用,因为未打印。 这是错误: 如果将代码从移至,则会得到以下结果。注意这次,输出显示我的函数被调用了。 问题答案: 显然,对象是不可变的,这意味着

  • 我想扩展spring集成消息。我想在消息流经通道期间添加一些头值。 我阅读了MessageHeader的文档,如下所示。我怎样才能得到第三个案例的样本? 创建消息头的一种方法是使用MessageBuilder: MessageBuilder。withPayload(“foo”)。setHeader(“键1”,“值1”)。setHeader(“键2”,“值2”); 第二种选择是创建 组织。sprin

  • 示例:                               >>>服务B(获取消息) 服务A>推送消息>>>服务B(不应接收消息,已复制)                         >>>服务C(获取消息) 我认为它是“路由”和“工作队列”的组合,我需要什么? 但我怎样才能正确地做到这一点呢?我使用node.js或C#(如果您有示例的话)。