angular - 可以使用由装饰器“组件”在运行时创建的组件吗?
问题描述
我有组件的类
class MyComponentLogic {
log() {
console.log('logging!');
}
}
通过“组件”装饰器创建组件
let TestComponent = Component({ template: 'hey', selector: 'app-test' })(MyComponent);
并得到错误:
ERROR Error: Uncaught (in promise): Error: Angular JIT compilation failed: '@angular/compiler' not loaded!
- JIT compilation is discouraged for production use-cases! Consider AOT mode instead.
- Did you bootstrap using '@angular/platform-browser-dynamic' or '@angular/platform-server'?
- Alternatively provide the compiler with 'import "@angular/compiler";' before bootstrapping.
如果不可能,我可以在运行时重写现有组件的模板吗
解决方案
从技术上讲,是的,您可以……但不建议这样做。这将要求您包含 Angular 编译器,并且您将被限制为 JIT 编译(在生产中)——所有这些都会导致性能有些差,并且通过 HTTP 服务的包臃肿。
我认为我们需要更深入地了解您要完成的工作,以指导您朝着正确的方向前进。
推荐阅读
- python - 点击 python Cli.testing TypeError
- haskell - 无法将类型“a”与“a1”匹配
- laravel - Laravel Eloquent - 无法查询与所有权的关系
- html - 带有三角形形状的 HTML5 正文背景 CSS
- python - 尝试使用 Opencv 和 Flask 显示多个流
- gnuplot - gnuplot 安装失败 - 目标“qtgnuplot_fr.qm”的配方失败
- javascript - 我怎样才能得到这个代码来计算金额列
- r - 修改 .RData 文件中的表
- python - 包含列子集的 CSV
- mysql - MYSQL 由于 Locking 导致性能下降