Angularjs为指令的templateUrl添加常量值

时间:2016-09-19 11:15:54

标签: javascript angularjs

我在模块中保持不变:

angular.module('identicaApp.common', ['ngResource', 'ngCookies'])
    .constant('ROOT_PATH', '/static/angular/identica/')

所以我想在另一个指令中使用它,在templateUrl属性中,如下所示:

angular.module('identicaApp.registration.player', ['identicaApp.common'])
    .component('registerPlayer', {
        templateUrl: ROOT_PATH + 'registration/register_player/register_player.html',

所以我该怎么做?

2 个答案:

答案 0 :(得分:3)

在组件templateUrl函数中,您可以注入依赖项并使用它来形成templateUrl

<强>代码

angular.module('identicaApp.registration.player', ['identicaApp.common'])
  .component('registerPlayer', { 'registration/register_player/register_player.html',
    templateUrl: function(ROOT_PATH){ //<-- add dependency in function
       return ROOT_PATH + 'registration/register_player/register_player.html',
    },
    ...
  })

检查文档中的here,其中明确提到templateUrl是可注射的。

答案 1 :(得分:0)

试试这个: -

angular.module('identicaApp.registration.player', ['identicaApp.common'])
.component('registerPlayer', {
    templateUrl: function(ROOT_PATH) {
     return   ROOT_PATH + 'registration/register_player/register_player.html'
    } 
});

function ()中注入常量。