在DOM节点中渲染角度2分量

时间:2017-03-16 21:17:30

标签: angularjs typescript codemirror

我正在创建一个使用CodeMirror作为源代码编辑器的Angular 2应用程序。我想为它添加一个行小部件,这要求我为CodeMirror提供一个DOM节点。我想在这个小部件中放置一些依赖于应用程序数据的复杂逻辑,因此它需要是一个Angular组件,但我无法弄清楚如何在DOM节点中呈现Angular元素(或者它是否是甚至可能)。通常我会使用ViewContainerRef来做,但在这种情况下不起作用。

有没有办法使用Angular 2来实现这个目标?

1 个答案:

答案 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!
   }
}