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

AngularJS-将提供程序注入module.config

晁聪
2023-03-14
问题内容

我做错了什么?
根据文件,我应该能够注入providermodule.config......但我得到一个错误- “未知供应商”

http://jsfiddle.net/g26n3/

(function () {
    "use strict";

    angular.module("ab.core", [])
        .provider("ab.core.provider", function () {
            console.log("ab.core.provider - constructor");
            this.$get = function () {
                console.log("ab.core.provider - get");
                return { value: "test" };
            }
        })
        .config(["ab.core.provider", function (myProvider) { console.log("ab.core - config " + myProvider.value); }])
        .run(function () { console.log("ab.core - run"); });

    angular.module("ab", ["ab.core"])
        .config(["ab.core.provider", function () { console.log("ab - config"); }])
        .run(function () { console.log("ab - run"); });

    angular.bootstrap(document, ['ab']);

}());

实际上,我在这里有三个问题…
1)如何注入模块的ab.core.provider配置ab.core
2)如何向模块ab.core.provider配置注入相同的提供程序()ab
3)如果我将相同的提供程序注入到两个模块的配置中,它将是相同的提供程序实例,还是两个不同的实例?

谢谢!


问题答案:

您需要添加“
Provider”后缀,这是Angular知道的,但是就像shaunhusain在评论中说的那样,存在一些限制:

http://jsfiddle.net/g26n3/1/

angular.module("ab.core", [])
  .provider("ab.core.provider", function () {

  })
  .config(["ab.core.providerProvider", function(p) {
    ...  
  }]

angular.module("ab", ["ab.core"])
  .config(["ab.core.providerProvider", function(p) {
    ...
  }]

遵循命名约定,看起来不错, .provider('camelCase', ...)



 类似资料:
  • 问题内容: 我有一个单独模块的工厂,我想将其注入模块的提供程序中,但是却不断收到未知的提供程序错误。我究竟做错了什么? 我想注入的是: 我试图注入的地方: 导致 问题答案: 我认为是因为所有提供程序都在工厂之前实例化,因此提供程序仅需依赖其他提供程序。 作为一种解决方法,我正在使用创建模块的方法。一个可以完成您想完成的任务的插件:http ://plnkr.co/edit/g1M7BIKJkjSx

  • 如果我创建一个提供者并将其绑定到一个类,就像这样 然后

  • 下面是我的app.js文件 下面是我的状态文件 我有一个模板,我想从那里导航到下一个状态 但是只要我点击这个锚标签,它就会把我导航回主页。(不去我打算去的州)。主要问题是URL(我猜)任何帮助都会很感激。

  • 问题内容: 我在我的angular应用程序中使用angular-route-segment,试图从json feed配置这些段。 我对此有问题,因为我不知道如何注入该函数。这失败了 因此,而不是注入$ HTTP到的,我也尝试注入到 我也试过 但我明白了 问题答案: 提供程序只能在“配置”阶段注入,而不能在“运行”阶段注入。相反,诸如$ http之类的服务尚未在“配置”阶段初始化,而仅在“运行”阶段

  • Jersey文档给出了如何在资源上注入HttpSession的示例。我应该如何注入(或以其他方式访问)在请求中发送的表单参数,并使用“Content Type:application/x-www-form-urlencoded”?我看到这些都是作为参数在方法上传递的,而且似乎没有注释,让我相信这里有一些怪癖? 我目前使用的(naive)工厂实现如下,JerseyHttpServletRequest

  • 问题内容: 我将其他html文件作为模板包含在index.html中。为此,我正在使用ng-view指令。但是我遇到一个错误: 我使用的代码是: 这是控制器: 配置: 这是HTML: 我在哪里想念? 问题答案: 做完了 在大多数情况下,这将是angular-route的冲突,而angularjs存在冲突。之后,由于持续不断的循环请求,导致页面崩溃 每次看到“ /”,它都会重新重定向到同一页面,从而