2016-09-19 92 views
1

我在模块得到了不断:Angularjs添加常数值指令的templateUrl

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', 

所以如何我可以这样做吗?

+0

我认为常量可以注入到控制器中,像其他任何部分一样可以注入控制器。 – thadam

回答

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是可注射的。

0

试试这个: -

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

注入你常数function()

+0

组件应该分配给对象,而不是功能 –

+0

yaah正确,我的错误 –

+0

更好地更新/删除答案,否则你可能会得到更多的downvote。 –