簡體   English   中英

訪問自定義組件中的元素 | Vue3組成api

[英]Access elements in custom component | Vue3 Composition api

我創建了一個自定義組件,因為我需要 scope 和 css。

import { defineCustomElement } from "vue";
…
const CustomElement = defineCustomElement(ImportConfig);
window.customElements.define("import-new-custom", CustomElement);

如何使用 JS 訪問元素,在使用 vues 組合 api 的自定義組件內部動態更改 styles? 我嘗試使用模板引用,但這並不適合所有需求。

感謝所有幫助。 沒有找到任何關於 Vue 的最新信息。

如果是open的 shadowRoot,則為document.querySelector("import-new-custom").shadowRoot.getElementById(..) closed的 shadowRoot沒有.shadowRoot屬性。 但是您(組件開發人員)可以自己分配入口點

遞歸深入shadowRoots; 請參閱: 如何使用 vanilla JS Web 組件從子組件引用父組件中的方法? (不是任何框架或庫)

從 shadowRoot內部,您可以獲得host元素: this.getRootNode().host

標准.closest(...)跨越 shadowRoot 邊界; 對於closestElement(..) ,請參閱: 如何使用 vanilla JS Web 組件從子組件引用父組件中的方法? (不是任何框架或庫)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM