当前位置:首页 > 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)

父组件监听事件:

vue实现组件化

<ChildComponent @update="handleUpdate" />

插槽内容分发

默认插槽使用:

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

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

具名插槽实现:

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

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

动态组件切换

通过 :is 属性实现:

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

组件生命周期

关键生命周期钩子示例:

vue实现组件化

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实现前端分离

Vue 实现前后端分离 前后端分离是一种架构模式,前端负责页面渲染和交互逻辑,后端提供数据接口。Vue.js 作为前端框架,非常适合实现前后端分离的开发模式。 核心实现步骤 创建 Vue 项目 使用…

vue 实现pdf

vue 实现pdf

在Vue中实现PDF功能 在Vue项目中实现PDF功能通常涉及PDF生成、预览或下载。以下是几种常见实现方式: 使用vue-pdf库预览PDF 安装依赖: npm install vue-pdf…

vue 实现排序

vue 实现排序

Vue 实现排序的方法 使用计算属性实现排序 通过计算属性对数组进行排序,可以保持原始数据不变。示例代码展示了如何对列表按名称升序排序: <template> <div>…

vue底层实现

vue底层实现

Vue.js 的底层实现原理 Vue.js 是一个渐进式 JavaScript 框架,其核心实现主要包括响应式系统、虚拟 DOM、模板编译和组件化机制。以下是其关键实现细节: 响应式系统 Vue 2…

实现vue message

实现vue message

实现 Vue 消息提示组件 创建 Message 组件 在 src/components 目录下创建 Message.vue 文件,内容如下: <template> <tran…

vue实现秒表

vue实现秒表

实现秒表功能 在Vue中实现秒表功能需要处理时间显示、开始、暂停和重置逻辑。以下是具体实现方式: 基础实现代码 <template> <div> <div&…