我正在创建一个使用CodeMirror作为源代码编辑器的Angular 2应用程序。我想为它添加一个行小部件,这要求我为CodeMirror提供一个DOM节点。我想在这个小部件中放置一些依赖于应用程序数据的复杂逻辑,因此它需要是一个Angular组件,但我无法弄清楚如何在DOM节点中呈现Angular元素(或者它是否是甚至可能)。通常我会使用ViewContainerRef
来做,但在这种情况下不起作用。
有没有办法使用Angular 2来实现这个目标?
答案 0 :(得分:0)
您可以随时使用已经为您处理的ng2-codemirror(https://www.npmjs.com/package/ng2-codemirror)。
在任何情况下,如果您需要从Angular 2组件获取DOM节点,您可以执行以下操作:
<div #element>
</div>
然后,在您的打字稿文件中,您可以:
import * as ng from "angular2/core";
export class MyComponent {
@ng.ViewChild("element", {read: ng.ElementRef})
element: ng.ElementRef;
ngAfterViewInit(){
this.element.nativeElement; // you dom node is here!
}
}