在angularjs中定义常数时,如何使用注射剂
How to get at injectables when defining a constant in angularjs?
当我在angular应用程序中创建常量时,我希望访问$injectable。
这样的事情可能发生吗?如何申报注射剂?
myApp.constant('myConfig', { //where does $location get put?
'searchUri': $location.blah() + "/e/_search?pretty",
'version': 0.2
});
在配置块中,使用angular.injector
创建一个临时注入器来实例化$location
服务。然后使用它来创建myConfig
常量。
angular.module('myApp').config(function($provide) {
function tempRootElementProvider ($provide) {
$provide.value("$rootElement", angular.element(document));
}
var tempInjector = angular.injector(['ng', tempRootElementProvider]);
var tempLocation = tempInjector.get('$location');
$provide.constant('myConfig', {
'searchUri': tempLocation.absUrl() + "e/_search?pretty",
'version': 0.2
});
})
$location
服务也依赖于$rootElement
,因此需要将其作为依赖项添加到临时注入器中。
JSFiddle上的演示。
相关文章:
- 在指令控制器中使用$attrs时出现问题
- 如何使用jQuery自动打开页面上的所有链接
- 如何使用url加载程序在webpack中导入多个图像
- 使用php或javascript从facebook相册URL中删除多余的部分
- 正在添加'X'按钮,在文本字段旁边使用javascript
- 如何使用jquery在填充自动完成的值后使文本框只读
- 使用agility.js进行页面布局和合成
- 使用Clipboard.js复制span文本
- 使用JS如何动态更改显示的html文件中的文本背景颜色
- 如何使用WCF服务和javascript表单post上传.doc文件
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- 如何使用动画实现纸张推车
- 如何在Angular2中使用jQuery插件
- 防止注射的参数?够了吗?以及应该在每个查询中使用它
- 在angularjs中定义常数时,如何使用注射剂
- jQuery.queue() 与使用回调函数完成某事有何不同
- 使用用于在同一函数中命名函数的变量名称有何意义
- 为什么要使用 jQuery $(window).ready(),它与 $(window).load() 有何不同
- 手动调用模块与使用browserify动态调用模块有何不同?
- 在 JavaScript 中使用重排隐藏元素,它与 CSS 隐藏属性有何不同