Javascript 角度2-RC4动态内容加载

Javascript 角度2-RC4动态内容加载,javascript,jquery,angularjs,Javascript,Jquery,Angularjs,目前,我正在尝试将传单合并到Angular 2-RC4中。我遇到了以下问题:将html动态加载到传单标记的popupContent中 在父类中,我有以下代码: export class BeaconLayerComponent implements OnInit { constructor(private resolver: ComponentResolver, private viewRef: ViewContainerRef) {} createMultipleDynami

目前,我正在尝试将传单合并到Angular 2-RC4中。我遇到了以下问题:将html动态加载到传单标记的popupContent中

在父类中,我有以下代码:

export class BeaconLayerComponent implements OnInit {
    constructor(private resolver: ComponentResolver, private viewRef: ViewContainerRef) {}

    createMultipleDynamicInstance(markers) {
        markers.foreach((marker) => {
            createDynamicInstance(marker);
        }
    }

    createDynamicInstance() {
        this.resolver.resolveComponent(BeaconPopupComponent).then((factory:ComponentFactory<BeaconPopupComponent>) => {
        let popupComponentRef: ComponentRef<BeaconPopupComponent>;
        popupComponentRef = this.viewRef.createComponent(factory);
        popupComponentRef.instance.name = beaconJSON.name;

        popupComponentRef.instance.afterViewCheckedEventEmitter.subscribe((popupInnerHTML: string) => {
            //make use of the innerHTML
            // ... <= Create the leaflet marker with innerHTML as popupContent
            //After retrieving the HTML, destroy the element
            popupComponentRef.destroy();
        })
    });
我试图避免通过JQuery获取DOM元素

getDynamicElement(name)
{
    str = "<div><div>" + name + "<div></div>"
    return $(str).get[0]
}
getDynamicElement(名称)
{
str=“”+名称+“”
return$(str.get[0]
}

在Angular 2中有更好的方法吗?

这是代码中的两个技巧,1动态加载,2如何使用jQuery($)

下面是我如何从字符串创建dynamica组件

compileToComponent(template1: string): Promise<ComponentFactory<any>> {
   const metadata = new ComponentMetadata({
                      template: template1,
                      directives: ROUTER_DIRECTIVES
                    });
   let decoratedCmp = Component(metadata)(class DynamicComponent { });
   return this.resolver.resolveComponent(decoratedCmp);

compileToComponent(template1:string):Promise这是代码中的两个技巧,1动态加载,2如何使用jQuery($)

下面是我如何从字符串创建dynamica组件

compileToComponent(template1: string): Promise<ComponentFactory<any>> {
   const metadata = new ComponentMetadata({
                      template: template1,
                      directives: ROUTER_DIRECTIVES
                    });
   let decoratedCmp = Component(metadata)(class DynamicComponent { });
   return this.resolver.resolveComponent(decoratedCmp);

compileToComponent(template1:string):PromiseUse Async pipe with Observable或promise Use Async pipe with Observable或promise
compileToComponent(template1: string): Promise<ComponentFactory<any>> {
   const metadata = new ComponentMetadata({
                      template: template1,
                      directives: ROUTER_DIRECTIVES
                    });
   let decoratedCmp = Component(metadata)(class DynamicComponent { });
   return this.resolver.resolveComponent(decoratedCmp);