2016-01-07 29 views

回答

0

我尝试了不同的方法并成功,我使用DynamicComponentLoader将我的组件加载到元素选择器。

DynamicComponentLoader.loadAsRoot(Component1, '#div1, injector); 

此方法将Component1加载到id = div1的元素。 DynamicComponentLoader是非常导入的服务,应该在每个ng2书中。

+0

这会创建一个新的component1实例吗?如何将现有组件移动到特定位置? –

+0

接受的答案未解决“如何在动态创建的组件中设置投影”的问题 –

0

如果要在组件内添加jnject elementRef: ElementRef并在组件构造函数中使用elementRef.nativeElement.appendChild(someElement)。 从外部只需使用不同的方法来获取DOM元素并向其添加HTML。

+0

请您详细说明一下。你的问题也没有提供很多信息。也许你正在寻找像http://stackoverflow.com/questions/34636435/angular2-what-is-the-best-way-to-get-a-reference-of-a-template-element(或者'@ ContentChild') –

+0

我做了你建议的 'elementRef.nativeElement.appendChild(someElement)' 它一半工作,DOM获得了新的选择器,但模板不渲染。 我如何强制选择器呈现? 第二:有没有办法插入组件的选择器? – almog

+0

我看,你没有说明你想要添加到DOM。我的方法只适用于纯HTML。如果您想动态添加Angular2组件,则需要使用DCL。 –

相关问题