javascript - 检测 DOM 中 Web 组件的安装

标签 javascript angular typescript vue.js web-component

我读到了 thread 创建的 Web 组件:

<my-vue-web-comp [userId]="1" id="my-component"></my-vue-web-comp>

它在 Angular 中运行良好。如何检测 Web 组件何时挂载到 DOM 中?

在此代码中我得到 null:

ngAfterViewInit() {
  const myComponent = document.getElementById('my-component')
  console.log(myComponent) //null
}

在这段代码中我得到了我的组件,但我应该等待 0.5 秒:

ngAfterViewInit() {
        setTimeout(
            function() {
                const myComponent = document.getElementById('my-component')
                console.log(myComponent) //not null                
            }, 500)
    }

是否有任何工具(事件)可以检测 DOM 中 Web 组件的安装?

最佳答案

需要从docs添加connectedCallback() :

Vue.customElement('web-component', (MyWebComponent as any).options, { connectedCallback() {
      console.info('connectedCallback', this)
    }})

关于javascript - 检测 DOM 中 Web 组件的安装,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69002790/

相关文章:

angular - 未处理的 promise 拒绝 : Cannot find primary outlet to load component Angular2

angular - AWS api Gateway Client sdk 使用 promise 和 angular 2 使用 observable

javascript - 更新 JavaScript 中的嵌套对象属性

javascript - 如何从 Astro 文件(服务器端)访问 url 查询参数?

javascript - 正则表达式匹配第一个数字并且只允许 11

javascript - 如何在 angular2 的移动模拟器中显示 console.log

angular - typescript 使变量充当指向另一个变量的指针

typescript - 使用解构/扩展在 TypeScript 中复制具有重命名属性的对象

javascript - 如何以组方式调用一个异步函数?

javascript - cURL 到 xmlhttprequest