如何处理Angular 1.x组件URL根目录?

时间:2016-11-28 10:58:30

标签: javascript angularjs angular-components

旨在设置组件模板的方法' URL根目录,在iif级别需要一个可用的配置对象。

(function () {
    var app = angular.module('myApp');
    app.component('myDashboard', {
        // templateUrl: HOW_TO_GET_ROOT_HERE + '/path/to/template.html'
        templateUrl: '/path/to/template.html'
    });
})();

到目前为止,我发现这种可能性的唯一方法是让模块对象添加一些自定义属性 - 但这样做真的很难。

// define
var app = angular.module('myApp', []);
app._config = {root: 'http://my.cdn.js'}
//...
// use
var app = angular.module('myApp');
app.component('myDashboard', {
   templateUrl: app._config.root + '/path/to/template.html'
}

还有其他更简洁的做法吗?

1 个答案:

答案 0 :(得分:1)

在angular app app模块中声明一个新的常量。然后在templateUrl函数中使用该公共配置来形成templateUrl。现在templateUrl函数可以有注射剂。

app.constant('config', { rootPath: 'http://my.cdn.js'});

<强>组件

app.component('myDashboard', {
   templateUrl: function(config){
     return config.rootPath + '/path/to/template.html'
   }
}