【发布时间】:2019-12-02 23:31:49
【问题描述】:
我有一个组件MyNodeComponent,它将target HTML 元素作为我Angular 7.2.15 中输入 对象的一部分:
@Component({
selector: 'my-node',
templateUrl: './my-node.component.html'
})
export class MyNodeComponent implements OnInit, OnChanges, AfterViewInit {
@Input() inputObject: [{target: HTMLElement, desc: string}];
...
}
问题是我不确定如何以动态方式将 HTML DOM 节点发送到目标。尤其是在具有不同层次关系的页面上可能有多个 MyNode 实例:
<body>
<my-node [inputObject]="inputObjectDefinition"></my-node> <!-- target should refer to target1 -->
<p id="target1" #target1>Hello</p>
<div id="target2" #target2>
</div>
</body>
如何定义 inputObjectDefinition 以包含来自 typescript 组件内部对 target1 和 target2 的引用?我是否使用 document.getElementById (它一直返回 null 但我可能用错了)?其他方式?
回答强制性的“你为什么这样做?”问题实际上是 MyNodeComponent 用于将 dom 节点发送到 html2Canvas 库,以便我可以将页面的一部分或部分呈现到图像。
【问题讨论】:
标签: angular angular7 html2canvas