angularjs – 角度1.5组件依赖注入

前端之家收集整理的这篇文章主要介绍了angularjs – 角度1.5组件依赖注入前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我一直在尝试在项目中使用新的Angular 1.5组件语法,但是我无法弄清楚如何将依赖项注入到组件定义中.

这是我尝试重构组件的现有指令:

angular
    .module('app.myModule')
    .component('row',{
      bindings: {
        details: '@',zip: '@'
      },controller: 'RowController',templateUrl: basePath + 'modules/row.html' // basePath needs to be injected
    })

由于各种原因,我们将常量basePath注入到我们所有的指令中,作为templateUrl的一部分.

如何在组件上执行此操作,因为组件定义不是函数

您可以使用templateUrl的函数来构造URL.但是,与指令不同,组件templateUrl函数是可注入的(ref docs),这意味着您可以在其中注入常量(或任何其他可注入的服务).正是你需要的:
.component('row',{
  bindings: {
    details: '@',zip: '@'
  },templateUrl: function(basePath,$rootScope) { // $rootScope is an example here
    return basePath + 'modules/row.html'
  }
})

支持简化安全数组符号:

templateUrl: ['basePath','$rootScope',function(basePath,$rootScope) {
  return basePath + 'modules/row.html'
}]

演示:http://plnkr.co/edit/jAIqkzZGnaEVPaUjyBrJ?p=preview

原文链接:https://www.f2er.com/angularjs/142608.html

猜你在找的Angularjs相关文章