jquery - 将 Angular 2 组件附加到特定 DOM

标签 jquery angular

在有人发言之前,我知道混合使用 Jquery 和 Angular2 不是最佳实践。但是,我有一个依赖于 Jquery 的布局管理器(黄金布局)。创建单个图 block 后,我想将由图表/表格组成的 Angular 2 组件附加到图 block 。

所以我可以通过 API 轻松获取容器,但它来自 jquery 选择。我怎样才能将它变成 ViewContainerRef,以便我可以将组件附加到它。

最佳答案

  export class ComponentService {
    constructor(private componentFactoryResolver: 
        ComponentFactoryResolver,
          private appRef: ApplicationRef,
          private injector: Injector) {
   }

   create(component){
     // get factory and create component
     let factory = this.componentFactoryResolver.resolveComponentFactory(component);
    let ref = confirmDialogFactory.create(this.injector);

    // set input prop
    ref.instance.prop ='ABC';

    // attach to dom
    document.querySelector('body')
          .appendChild(ref.location.nativeElement);

      // run change detection
     this.appRef.attachView(ref.hostView);
    ...
  }

关于jquery - 将 Angular 2 组件附加到特定 DOM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43621432/

相关文章:

javascript - 上一个成功完成后,如何对 api 进行新调用?

json - Angular 2 将 JSON 对象解析为 Angular 类

javascript - PROTRACTOR - 失败 : element. 所有都不是函数

javascript - 如何获取字符串变量中具有特定类名的所有范围

javascript - 动态表的可排序列(使用 DataTable 制作)

jquery - CSS 样式的可编辑列表?

javascript - 附加内容未触发 - 即使使用 .on()

angular - Angular 形|当我使用2 ngIf时,如何读取子组件的属性?

Angular routerLink 无 "[]"

当 div 可见时 jquery 追加