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

将$ http注入配置或提供程序以使其运行

施阎宝
2023-03-14
问题内容

我在我的angular应用程序中使用angular-route-segment,试图从json feed配置这些段。

我对此有问题,因为我不知道如何注入$httpapp.config函数。这失败了Unknown provider: $http

myApp.config(["$http", "$routeSegmentProvider", function ($http, $routeSegmentProvider) {
   /* setup navigation here calling $routeSegmentProvider.when a number of times */
}

因此,而不是注入$ HTTP到的config,我也尝试注入$routeSegmentProvidermyApp.run

myApp.run(["$http", "$routeSegment", function($http, $routeSegment) {
    /* can use $http here to get data, but $routeSegment is not the same here */
    /* $routeSegment does not have the when setup method */
}]);

我也试过

myApp.run(["$http", "$routeSegmentProvider", function($http, $routeSegmentProvider)

但我明白了 Unknown provider: $routeSegmentProviderProvider <- $routeSegmentProvider


问题答案:

提供程序只能在“配置”阶段注入,而不能在“运行”阶段注入。相反,诸如$ http之类的服务尚未在“配置”阶段初始化,而仅在“运行”阶段可用。

解决此问题的一个小技巧是在父函数作用域中定义一个变量,以便“ config”和“ run”块都可以访问它:

var routeSegmentProvider = null;

myApp.config(["$routeSegmentProvider", function ($routeSegmentProvider) {
    routeSegmentProvider = $routeSegmentProvider;
}]);

myApp.run(["$http", function($http) {
  // access $http and routeSegmentProvider here
}]);

我不确定您是否会在尝试运行阶段尝试调用$
routeSegmentProvider.setup()时遇到问题,因为我没有尝试过。过去,我可以使用相同的技术向$
httpProvider注册依赖于某些自定义服务的http响应拦截器



 类似资料:
  • 问题内容: 我做错了什么? 根据文件,我应该能够注入到......但我得到一个错误- “未知供应商” http://jsfiddle.net/g26n3/ 实际上,我在这里有三个问题… 1)如何注入模块的配置。 2)如何向模块配置注入相同的提供程序()。 3)如果我将相同的提供程序注入到两个模块的配置中,它将是相同的提供程序实例,还是两个不同的实例? 谢谢! 问题答案: 您需要添加“ Provid

  • 这是一个奇怪的用例,我需要一些帮助来弄清楚如何相互结合使用辅助/提供者/FactoryModuleBuilders。忽略的缺失。这只是一个例子。 属于我无法更改的库的一组特征具有以下模式。它使用蛋糕图案。 由于这些特征不能被直接注入,我创建了一个允许它们被注入的包装器 在我的代码中,我有一个依赖于服务的控制器,而服务又依赖于库。根据控制器的需要,服务应能够使用“BB”或“CC”。组件如下所示 我将

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

  • 问题内容: 有人可以向我解释差异吗? Provisioner-在docker中安装,运行,拉出容器中的一项工作。 提供程序-是运行VM的东西。即VBox运行ubuntu OS映像。 Docker如何成为提供者?它直接运行一些docker镜像吗?如果我在Windows上,必须有一些boot2docker的隐藏用法,对不对?我什么时候使用每个? 问题答案: Docker Provisioner帮助准备

  • 我的问题是,这个“提供商app”是一个什么样的app?是否有任何Android API,该应用程序应该实现,以作为配置提供商?此配套应用程序如何将配置更改挂钩到中,以便托管应用程序能够检索这些更改? 我在这里问这个问题,因为不幸的是,我在Android文档中没有找到任何引用。

  • 我正在尝试为drools会话配置JPA持久性(代码来自drools文档) > 我在pom.xml中添加了drools-persistence-jpa、Bitronix事务管理器和com.h2database依赖项 我在“src/META-INF”中的Eclipse项目中创建了一个META-INF文件夹作为Source-Folder。 [...]EntityManagerFactory emf=pe