我有一个vanilla ES5脚本,我试图在运行时创建一个angular2组件并像这样引导它,
var mycomp = require('complibrary').mycomponent;
document.addEventListener('DOMContentLoaded', function() {
ng.platformBrowserDynamic.bootstrap(mycomp);
});
考虑complibrary是我们内部开发的一个单独的angular2组件库。 mycomponent是我们导出为ES5代码使用的组件之一。我们使用汇总来吐出我们组件的最终umd定义。我的组件的摘录可以在下面看到。
var mycomponent = (function () {
function mycomponent() {
this.name = "Abhang Rane";
}
mycomponent = __decorate([
_angular_core.Component({
selector: 'mycomponent',
template: '<h1>{{name}}</h1>'
}),
__metadata('design:paramtypes', [])
], mycomponent);
return mycomponent;
}());
这适用于角度为2.0.0.rc1,但是在角度为2.2及更高版本的情况下,platformBrowserDynamic上没有可用的引导方法。有没有办法用最新的角度2构建实现这一目标?最好不要改变我的组件...
答案 0 :(得分:0)
Angular modules作为AngularJS模块的直接继承者。
如this ES5 example所示,它是:
platformBrowserDynamic().bootstrapModule(AppModule);
应该引导的组件应该定义相应的模块:
var AppModule = NgModule({
declarations: [AppComponent],
bootstrap: [AppComponent]
})
.Class({ constructor: function () {} });