首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在vue/nuxt中继承外部UI组件?

如何在vue/nuxt中继承外部UI组件?
EN

Stack Overflow用户
提问于 2022-11-09 04:20:54
回答 2查看 29关注 0票数 1

我是vue的新手,我的项目使用Vue2、Nuxt和Vuetify。

我想要制作一个基本的.vue组件,以及从这个基派生出来的几个组件。

例如,这是我的基础dailog MyDialog.vue

代码语言:javascript
复制
<template>
  <v-dialog v-model="isShowDialog" persistent>
    <v-card>
      <v-card-title> My Base Dialog </v-card-title>

      <!-- inherited UI logic goes here -->

      <v-card-actions>
        <v-btn @click="closeDialog"> Close </v-btn>
      </v-card-actions>
    </v-card>
  </v-dialog>
</template>

<script>
export default {
  data() {
    return {
      isShowDialog: true,
    }
  },
  methods: {
    closeDialog() {
      this.isShowDialog = false
    },
  }
}
</script>

对于派生组件,我想做一些像ImageDialog.vueLoginFormDialog.vueComplexDialog.vue这样的东西,除了基本的MyDialog.vue之外,每个组件都有自己的子UI和逻辑。

例如,我能否实现这样的目标:

代码语言:javascript
复制
<MyDialog>
    <div>
        <span>This is an image</span>
        <img src="...">
    </div>
</MyDialog>

我该从哪开始?或者任何我能参考的文件?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-11-09 04:50:55

对于基本组件,您可以在另一个组件中使用每个组件的简单嵌套。

如果您需要更多的灵活性+可重用性,可以使用插槽:https://vuejs.org/guide/components/slots.html

基本命名槽非常强大,但作用域槽甚至更好。同时,要小心,因为这是一种更先进的模式。

这里有一个在Vue社区很有名的人,如果你想在这个问题上找一个更大的课程:https://michaelnthiessen.com/#courses

票数 1
EN

Stack Overflow用户

发布于 2022-11-09 04:50:38

是的,您可以将组件导入另一个组件。请参阅以下参考资料:https://flaviocopes.com/vue-import-component/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74369897

复制
相关文章

相似问题

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