首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >获取对vue3组合api shadowroot的引用

获取对vue3组合api shadowroot的引用
EN

Stack Overflow用户
提问于 2021-10-26 12:07:18
回答 1查看 87关注 0票数 0

如何使用vue3 composition获取对web组件的阴影根的引用?

使用选项api可以做到以下几点:

代码语言:javascript
复制
<script>
export default {
  mounted() {
    const shadowRoot = this.$el.parentNode
  }
}

我试着用getCurrentInstance()获取它,但是没有用:/

将非常感谢任何提示=)

让它工作起来:

WC:

代码语言:javascript
复制
<script setup lang="ts">
import { useWindi } from '../use/useWindi'
defineProps<{ title: string }>()
useWindi()
</script>

钩子:

代码语言:javascript
复制
import { ref, onUpdated, onMounted, getCurrentInstance } from 'vue'

export const useWindi = () => {
  const shadowRoot = ref<ShadowRoot>()

  onUpdated(() => {
    if(!shadowRoot.value) return
    shadowRoot.value.adoptedStyleSheets = [(window as any).windiSheet];
  })

  onMounted(() => {
    shadowRoot.value = getCurrentInstance()?.vnode?.el?.parentNode
    if(!shadowRoot.value) return
    shadowRoot.value.adoptedStyleSheets = [(window as any).windiSheet];
  })
}

我基本上是想在我的组件中采用windicss样式表。

EN

回答 1

Stack Overflow用户

发布于 2021-10-26 14:47:38

我想我明白了:

代码语言:javascript
复制
const shadowRoot = ref(null)

onMounted(() => {
  shadowRoot.value = getCurrentInstance().vnode.el.parentNode
})
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69722829

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档