无法从 $injector.get() 获取服务实例

2024-03-16

我定义了一个名为“greeting”的客户服务,但无法从 $injector.get('greeting') 获取该实例。它会抛出这样的错误:未知提供者:greetingProvider 。那么哪种方式才是正确的获取方式呢?以下是代码:

var app = angular.module('myDI', []);
app.config(function($provide){
    $provide.provider('greeting', function(){
        this.$get = function(){
             return function(name) {
                 console.log("Hello, " + name);
            };
        };
    });
});

var injector = angular.injector();
var greeting = injector.get('greeting');
greeting('Ford Prefect');

您需要从模块创建注入器。

var app = angular.module('myDI', []);
app.config(function($provide){
    $provide.provider('greeting', function(){
        this.$get = function(){
             return function(name) {
                 console.log("Hello, " + name);
            };
        };
    });
});
var injector = angular.injector(['myDI', 'ng']); //Add this line
var greeting = injector.get('greeting');
greeting('Ford Prefect');
var injector = angular.injector();

在这里尝试一下。FIDDLE http://jsfiddle.net/vVV8H/1/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法从 $injector.get() 获取服务实例 的相关文章

  • AngularJS 无限滚动大量数据

    所以我尝试使用 AngularJS 创建一个无限滚动表 类似于 http jsfiddle net vojtajina U7Bz9 http jsfiddle net vojtajina U7Bz9 我遇到的问题是 在 jsfiddle 示
  • Angular 1.5 组件的自定义指令

    我已经升级到 Angular 1 5 现在支持 component helper 方法致力于帮助用户过渡到 AngularJs 2 不幸的是 关于它的教程并不多 我有以下简化的自定义指令和模板 URL 谁能帮我写这个 component 形
  • 如何在 AngularJS 中测试具有解析属性的控制器?

    如何测试具有解析属性的控制器 它会抛出一个错误 未知提供者 InitProvider 在测试期间 这是可以理解的 我该如何测试它 我使用路由配置中的 init 属性来加载数据 并在控制器实例化时将其传递给控制器 以便在加载数据之前路由不会更
  • Typescript 中的 Angular 服务具有依赖注入和缩小功能

    我现在正在努力让我的头脑围绕 Angularjs 我目前正在寻找服务 我也使用打字稿来编写代码 现在 从网络上的示例中 我看到人们在打字稿中使用如下所示的服务 class Service constructor private http n
  • Jasmine 单元测试不等待承诺解析

    我有一个有角度的服务 它具有像这样的异步依赖项 function angular module app factory myService q asyncService function q asyncService var myData
  • 通过查询字符串传递“Bearer”时 SignalR 身份验证失败

    我想在 SignalR 中启用身份验证 而服务器托管在 ASP NET WebAPI 中 我使用 OAuth Bearer 身份验证 客户端是 AngularJS 在客户端 我最初通过 HTTP 标头传递 Bearer 令牌 它与 WebA
  • 使用 $emit 和 $on 从子模态到父 angularjs

    我有这种情况 两个文件 都在同一个应用程序中 var app angular module myapp 文件一是父文件 我有 app controller ControllerOne scope http modal function sc
  • 使用 Angularjs,$http 在 Microsoft Edge 中发布返回响应错误

    好吧 当我开发一个管理页面进行测试时 Microsoft Edge 中出现了一个奇怪的问题 这是从loginCtrl js服务器获取响应的部分源代码 http method POST url Define apiUrl admin logi
  • AngularJs 路由提供者 404

    下面的代码来自 AngularJs 教程 我稍作修改 我希望从 url 中删除哈希值 我实际上成功了 但现在我有其他问题 当我使用链接本地主机时 它工作得很好并将我重定向到本地主机 电话 但万一我尝试直接链接 localhost phone
  • 在 Spring 和 Angular JS 之间处理 CORS 的最佳实践?

    我们正在使用 Java Spring 来构建 REST API 我们使用 angularjs 作为前端 其余 api 位于一个域中 而 angularjs 位于另一域中 最初 当我尝试从 Angular 向其余 api 发出 POST 请求
  • ng-repeat 和 ng-controller 在同一个 DOM 元素上

    我们可以将 ng controller 和 ng repeat 附加到同一个 DOM 元素吗 Fiddle http jsfiddle net ZXE4c 4 这是 HTML table tbody tr td user name td t
  • 动态添加元素的指令不起作用

    我正在尝试构建一个简单的无限滚动 它可以很好地加载数据 但加载后 新添加的元素的指令不起作用 这是滚动检查和数据加载指令的相关部分 directive scrollCheck function window http return func
  • Angular - UI 路由器 - 状态重入

    如何配置 UI Router 默认重新进入或重新加载状态 例如 用户想要刷新页面 因此他单击该页面后面的链接 但目前该链接不可点击 因为它会转到同一页面并且状态不会改变 使用浏览器按钮刷新确实有效 因此它会再次重新加载整个 SPA 这是不可
  • 在我的输入中显示多个信息

    我有一个输入 div class search field search field date search field calendar ui datepicker calendar columns small 3 div
  • AngularJS 路由与后端路由

    我想在我的下一个项目中使用 AngularJS 该应用程序具有 Python 后端和 html5 Angular 前端 我将在后端使用 MVC 框架 但我有点困惑 我必须在后端和前端使用路由吗 因为我总是使用后端路由 而前端路由对我来说确实
  • 如果满足条件,Angular JS 如何添加 CSS 类

    我正在创建一个截断指令 如果字符超过 10 我就会截断文本字符串 然后它将显示 我的目标是编写一个条件 如果字符少于 10 个 则删除 如果有人对我如何实现此目标有任何想法 我会坚持这一点并接受建议 这是我的代码 var app angul
  • 项目组织和命名约定

    这在某种程度上是后续每个模块组件重复模块名称 https stackoverflow com questions 25005897 repeating module name for each module component问题 我们决定
  • 如何在 AngularJS/Bootstrap3 中禁用基于复选框的内容

    我正在创建一个表单 用户可以在其中配置重复事件 因此有大量控件 顶部是一个用于启用 禁用计划的复选框 如何禁用但不隐藏基于复选框的整个部分 如果选中 用户应该能够对时间表进行修改 如果没有检查 则不允许进行任何更改 我相当确定我可以在每个控
  • WebAPI 和 Angular JS Excel 文件下载 - 文件损坏

    我正在 WebAPI 中生成 Excel 文件 我将其 存储 在内存流中 然后放入响应 如下所示 var result new HttpResponseMessage HttpStatusCode OK Content new Stream
  • 从 mvc web api httpresponse 生成 csv 并通过 angularjs 接收以供下载

    我正在尝试从我的 Web api 生成一个 CSV 文件并通过 angularjs 接收该文件 我有一个如下所示的 API 控制器 HttpPost public HttpResponseMessage GenerateCSV FieldP

随机推荐