【发布时间】:2019-03-24 14:02:40
【问题描述】:
我的问题如下:
我想从位于runtime 的远程服务器加载外部Angular 组件。感谢Manfred Steyer的博文,我设法做得很好
问题是我需要将一些data 对象传递给我在runtime 加载的组件。在来自Manfred Steyer 的帖子中,他这样做但不是为了对象。
我在一步一步做的事情:
首先,我创建一个单独的 Angular 项目,例如采用这样的数据对象:
内部RandomComponent.ts:
Interface Random: {
name: string;
age: number;
}[]
@Input() data: Random;
内部RandomComponent.html:
<div>
<div *ngFor="let d of data">{{d.name}}</div>
</div>
接下来我构建这个组件并获得一个看起来像:random-component.bundle.js 的文件。我将此文件放在服务器上,并在需要时渲染它。
现在在主要的 Angular 项目中,我想加载这个文件并向他传递一个数据对象。如果关注Manfred Steyer 的博客,我会这样做:
// creation of element from bundle
const script = document.createElement('script');
script.src = 'assets/random-component.bundle.js';
document.body.appendChild(script);
// creation of new element based on selector from bundle
const data = [{name: 'Dave', age: 19}, {name: 'Charly', age: 23}];
const component = document.createElement('random-component');
component.setAttribute('data', data);
但是我不能设置这样的属性,有什么想法吗?
【问题讨论】:
标签: angular typescript data-binding web-component