当前位置:首页 > VUE

vue实现组件化

2026-01-18 13:35:49VUE

Vue 组件化实现方法

组件定义

使用 .vue 单文件组件格式,包含 <template><script><style> 三个部分:

<template>
  <div class="example">{{ msg }}</div>
</template>

<script>
export default {
  data() {
    return {
      msg: 'Hello Component!'
    }
  }
}
</script>

<style scoped>
.example {
  color: red;
}
</style>

组件注册

全局注册通过 Vue.component() 实现:

import Vue from 'vue'
import MyComponent from './MyComponent.vue'

Vue.component('MyComponent', MyComponent)

局部注册在父组件中完成:

import ChildComponent from './ChildComponent.vue'

export default {
  components: {
    ChildComponent
  }
}

Props 数据传递

父组件向子组件传递数据:

<ChildComponent :title="parentTitle" />

子组件接收 props:

export default {
  props: {
    title: {
      type: String,
      required: true
    }
  }
}

自定义事件通信

子组件触发事件:

this.$emit('update', newValue)

父组件监听事件:

<ChildComponent @update="handleUpdate" />

插槽内容分发

默认插槽使用:

<!-- 子组件 -->
<slot></slot>

<!-- 父组件 -->
<ChildComponent>默认内容</ChildComponent>

具名插槽实现:

<!-- 子组件 -->
<slot name="header"></slot>

<!-- 父组件 -->
<template v-slot:header>
  头部内容
</template>

动态组件切换

通过 :is 属性实现:

<component :is="currentComponent"></component>

组件生命周期

关键生命周期钩子示例:

export default {
  created() {
    // 实例创建后执行
  },
  mounted() {
    // DOM挂载后执行
  },
  beforeDestroy() {
    // 实例销毁前清理
  }
}

混入复用逻辑

创建 mixin 文件:

// mixin.js
export default {
  methods: {
    sharedMethod() {
      // 共享方法
    }
  }
}

组件中使用:

import myMixin from './mixin'

export default {
  mixins: [myMixin]
}

组件间依赖注入

祖先组件提供数据:

export default {
  provide() {
    return {
      theme: 'dark'
    }
  }
}

后代组件注入数据:

export default {
  inject: ['theme']
}

vue实现组件化

标签: 组件vue
分享给朋友:

相关文章

vue实现aop切面

vue实现aop切面

Vue 实现 AOP 切面编程的方法 在 Vue 中实现 AOP(面向切面编程)可以通过多种方式,以下是几种常见的实现方法: 使用 Vue 混入(Mixins) Vue 的混入机制可以用于实现横切…

vue实现滚动截屏

vue实现滚动截屏

实现滚动截屏的基本思路 滚动截屏通常指对超出可视区域的长页面进行完整截图。在Vue中,可以通过结合DOM操作、Canvas绘制及第三方库实现。以下是具体方法: 使用html2canvas库实现…

在线脑图 vue 实现

在线脑图 vue 实现

在线脑图 Vue 实现方案 使用开源库实现 推荐使用 mind-elixir 或 jsmind 这类开源库,它们专为脑图设计且支持 Vue 集成。 安装依赖: npm install mi…

vue实现签约合作弹窗

vue实现签约合作弹窗

实现签约合作弹窗的步骤 使用Vue实现签约合作弹窗可以通过组件化方式完成,结合模态框和表单交互逻辑。以下是具体实现方法: 1. 创建弹窗组件 新建一个Vue组件文件(如SignContractDia…

vue穿梭框组件实现

vue穿梭框组件实现

实现基础穿梭框组件 在Vue中实现穿梭框组件,可以使用<el-transfer>(Element UI)或手动实现。以下是手动实现的核心逻辑: <template> &l…

vue组件传值实现分页

vue组件传值实现分页

Vue 组件传值实现分页 在Vue中实现分页功能,通常需要父子组件之间的数据传递。以下是几种常见的传值方法: 使用props和$emit 父组件通过props向子组件传递数据,子组件通过$emit…