我们有一个SPL,其中index.html
以这种方式定义了ngModule:
var module = ng.core.NgModule({
imports: [ng.platformBrowser.BrowserModule, ng.router.RouterModule, ng.material.MaterialModule],
declarations: [],
bootstrap: []
})
.Class({
constructor: function () { }
});
document.addEventListener('DOMContentLoaded', function () {
ng.platformBrowserDynamic
.platformBrowserDynamic()
.bootstrapModule(module);
});
正如您所见,NgModule
中的声明列表为空。此代码由开发人员A完成,并与index.html
在另一个地方,开发人员B创建了一个简单的组件:
var tasks = ng.core.Component({
selector: 'tasks',
template: '<div>list of tasks here<div>'
})
.Class({
constructor: function () { }
});
此代码通过用户的交互和路由更改来延迟加载。
我们如何在我们的模块中包含此组件?伪代码可能是:
module.AddComponent(tasks);
答案 0 :(得分:0)
您可以尝试使用forwardRef,但我不确定它是否正常工作我没有任何代码可以测试。
var module = ng.core.NgModule({
imports: [ng.platformBrowser.BrowserModule, ng.router.RouterModule, ng.material.MaterialModule],
declarations: [ng.core.forwardRef(() => tasks],
bootstrap: []
})
.Class({
constructor: function () { }
});