Angular 2,将typescript变量导出到templateUrl路径

时间:2017-04-30 17:37:57

标签: angular typescript

我试图将一个全局变量作为Angular 2中的templateUrl字符串的一部分传递。我知道,全局变量可能不是最好的做事方式,但这是我能让它在当前工作的唯一方法

组件

var myConfig = require('../../../global.template');
console.log('template ' + window['templateid']);

@Component({
    selector: 'app-thank-main',
    templateUrl: '../../views/' + window['templateName'] + '/thank-main/thank main.component.html',
    styleUrls: ['../../views/' + window['templateName'] + '/thank-main/thank-main.component.scss'],
    providers: [MainFormComponent, SharedServices]
})

global.template.ts

xhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
    let data = JSON.parse(xhttp.responseText);
    window['templateName'] = data.template;
 }
};
xhttp.open("GET", www.example.com/, true);
xhttp.send();

我的全局文件发出一个返回模板ID的api请求。我想将它与templateUrl连接起来,这样我就可以动态告诉我的应用程序要呈现哪个视图。我只是无法弄清楚如何解决异步问题。我的模板在window['templateName']被赋予其值之前呈现。如果我对字符串进行硬编码并将其设置为window['templateName'],则一切正常。

欢迎任何建议或替代方法。现在已经对我的头撞了一会儿。

0 个答案:

没有答案