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 内容并插入到元素中。最后将自定义元素添加到页面中,即可解决该问题。

相关内容

热门资讯

黑科技辅助挂"wep... 黑科技辅助挂"wepoke辅助会被官方检测到吗"微扑克这软件有问题吗(真是真的有挂)-哔哩哔哩1、黑...
黑科技中牌率!微扑克软件的规律... 黑科技中牌率!微扑克软件的规律(黑科技ai)原来是有挂(有挂自建房)-哔哩哔哩关于微扑克软件的规律机...
黑科技游戏(Wpk辅助器)外挂... 黑科技游戏(Wpk辅助器)外挂透视辅助技巧(透视)一直真的有挂(黑科技插件)-哔哩哔哩1、不需要AI...
黑科技模拟器(aapoKer)... 黑科技模拟器(aapoKer)外挂第一视角(透视)辅助(都是真的有挂)1、这是跨平台的黑科技,在线的...
黑科技模拟器!wepoke透明... 黑科技模拟器!wepoke透明黑科技(ai辅助)固有存在有挂(有挂ai辅助)-哔哩哔哩科技教程也叫必...
黑科技有挂"aapo... 黑科技有挂"aapoker外挂实测"红龙扑克真假(原来存在有挂)-哔哩哔哩;亲,关键说明,aapok...
黑科技规律(德扑之星软件有猫腻... 黑科技规律(德扑之星软件有猫腻吗)外挂透明挂辅助器(透视)确实有挂(黑科技工具)-哔哩哔哩德扑之星软...
辅助黑科技(wEpOke)透明... 辅助黑科技(wEpOke)透明挂辅助(黑科技)有辅助器(确实是真的有挂);黑科技是一款具有ia特色的...
黑科技透明挂!wpk ai辅助... 黑科技透明挂!wpk ai辅助有没有用(透视)一向是有挂(有挂工具)-哔哩哔哩准备好在wpk ai辅...
黑科技肯定"wopo... 黑科技肯定"wopoker系统套路"来玩app辅助(果然有挂)-哔哩哔哩1、首先打开wopoker系...