将组件TemplateURL设置为已配置的路径

时间:2016-08-01 16:51:03

标签: angularjs angularjs-components angularjs-config

我正在尝试使用templateURL设置一个组件,该模板是给定配置模块的相对路径。但是,由于它在控制器之外,我无法弄清楚如何将依赖性引入配置

app.config.js:

angular.module('app.config', [])
    .constant('config', {
     TEMPLATES_URL: 'js_2/templates/',
     COMPONENTS_URL: 'js_2/components/'

})

home.app.js:

angular.module('home.app', ['rest.service', 'app.config']);

home.component.js:

angular.module('home.app').component('home', {
    /* HOW DO I INJECT THE 'config' DEPENDENCY */
templateUrl: config.TEMPLATES_URL + 'home.template.html',
controller: ....})

我知道当注入控制器时,你只需注入“配置”即可。并使用它,但我不知道如何对组件

这样做

谢谢

1 个答案:

答案 0 :(得分:0)

你需要在templateUrl上设置一个注入你的服务并返回url的函数,如下所示:

  angular.module('fsad').component('fsadLeefloon', {
    bindings: {
      onChanges: '&?'
    },
    templateUrl: function(appConstant){return appConstant.paths.modules.fsad + 'leefloon/fsad-leefloon.html'},
    controller: controller
  });

此外,此structure guide可帮助您设置良好的组件样式。