AngularElements使用ng-content无法工作
创始人
2024-10-24 17:01:01
0

当使用 Angular Elements 时,如果在组件中使用了 ng-content,可能会遇到组件不工作的问题。这是因为 Angular Elements 不支持通过 ng-content 创建内容。解决这个问题的方法是通过编写自定义的 DOM 选择器来手动获取内容,然后将它们插入组件中。

以下是使用自定义 DOM 选择器解决问题的代码示例:

import { Component, Injector, OnInit, Input } from '@angular/core';
import { createCustomElement } from '@angular/elements';

@Component({
  selector: 'app-custom-element',
  template: ''
})
export class CustomElementComponent implements OnInit {
  @Input() inputProp: string;

  constructor(private injector: Injector) {}

  ngOnInit() {
    const content = this.getContent();
    const customElement = createCustomElement(
      CustomElementComponent,
      { injector: this.injector }
    );
    customElements.define('app-custom-element', customElement);
    const element = document.createElement('app-custom-element');
    element.appendChild(content);
    document.body.appendChild(element);
  }

  private getContent() {
    const slot = document.createElement('slot');
    slot.setAttribute('name', 'content');
    return slot;
  }
}

这个组件利用 createCustomElement() 函数创建自定义元素,然后在 ngOnInit() 生命周期钩子函数中手动获取 ng-content 内容并插入到元素中。最后将自定义元素添加到页面中,即可解决该问题。

相关内容

热门资讯

出现新变化!星悦辅助器,原来存... 出现新变化!星悦辅助器,原来存在有辅助下载(的确有挂)-哔哩哔哩1、起透看视 星悦辅助器辅助软件价格...
来临!新西部透视辅助,切实有挂... 来临!新西部透视辅助,切实有挂辅助安装(真实有挂)-哔哩哔哩所有人都在同一条线上,像星星一样排成一排...
今日!科乐填大坑破解版安卓,竟... 今日!科乐填大坑破解版安卓,竟然存在有辅助修改器(有挂细节)-哔哩哔哩1、全新机制【科乐填大坑破解版...
据了解!小程序微乐游戏辅助,一... 据了解!小程序微乐游戏辅助,一直有挂辅助神器(存在有挂)-哔哩哔哩1、金币登录送、破产送、升级送、活...
截至发稿!欢乐贰柒拾辅助,一直... 截至发稿!欢乐贰柒拾辅助,一直有挂辅助平台(竟然有挂)-哔哩哔哩所有人都在同一条线上,像星星一样排成...
据相关数据显示!新九哥源码,一... 据相关数据显示!新九哥源码,一贯存在有辅助器(有挂方法)-哔哩哔哩1、新九哥源码有没有辅助教程、新九...
长期以来!情怀游戏辅助器,真是... 长期以来!情怀游戏辅助器,真是有挂辅助软件(竟然有挂)-哔哩哔哩1、游戏颠覆性的策略玩法,独创攻略技...
推出新举措!关春天辅助凑一桌,... 推出新举措!关春天辅助凑一桌,确实是真的辅助安装(有挂攻略)-哔哩哔哩1、关春天辅助凑一桌有没有辅助...
今日!斗棋联盟俱乐部辅助挂,其... 今日!斗棋联盟俱乐部辅助挂,其实是真的辅助下载(有挂分析)-哔哩哔哩运斗棋联盟俱乐部辅助挂辅助工具,...
出现新变化!微信小程序雀神广东... 出现新变化!微信小程序雀神广东智能辅助,确实是真的辅助神器(有挂猫腻)-哔哩哔哩1、每一步都需要思考...