当前位置:首页 > VUE

Vue组件实现方法

2026-02-11 02:07:51VUE

Vue组件实现方法

选项式API(Options API)

使用datamethodsprops等选项定义组件,适合传统Vue 2.x项目或偏好结构化代码的场景。

<template>
  <div>{{ message }}</div>
</template>

<script>
export default {
  data() {
    return {
      message: 'Hello Vue!'
    }
  },
  methods: {
    updateMessage() {
      this.message = 'Updated'
    }
  }
}
</script>

组合式API(Composition API)

通过setup()函数组织逻辑,适合Vue 3.x的复杂组件,支持更好的代码复用和类型推断。

<template>
  <div>{{ count }}</div>
  <button @click="increment">+1</button>
</template>

<script>
import { ref } from 'vue'
export default {
  setup() {
    const count = ref(0)
    const increment = () => count.value++
    return { count, increment }
  }
}
</script>

单文件组件(SFC)

.vue文件包含<template><script><style>三部分,是Vue推荐的组件封装方式。

<template>
  <button class="btn">{{ label }}</button>
</template>

<script>
export default {
  props: ['label']
}
</script>

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

函数式组件

无状态组件,通过渲染函数(render function)直接返回虚拟DOM,适用于纯展示型组件。

export default {
  functional: true,
  render(h, { props }) {
    return h('div', props.text)
  }
}

动态组件

使用<component :is>实现运行时切换组件,常用于标签页或条件渲染场景。

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

<script>
import CompA from './CompA.vue'
import CompB from './CompB.vue'
export default {
  data() {
    return {
      currentComponent: 'CompA'
    }
  }
}
</script>

异步组件

通过defineAsyncComponent实现按需加载,优化应用启动性能。

import { defineAsyncComponent } from 'vue'
const AsyncComp = defineAsyncComponent(() => import('./Comp.vue'))

递归组件

组件调用自身实现树形结构,需设置name选项并添加终止条件。

Vue组件实现方法

<template>
  <div>
    {{ node.name }}
    <TreeNode v-for="child in node.children" :node="child" />
  </div>
</template>

<script>
export default {
  name: 'TreeNode',
  props: ['node']
}
</script>

标签: 组件方法
分享给朋友:

相关文章

vue哪个组件实现动画

vue哪个组件实现动画

在Vue中实现动画效果,可以通过以下组件和方法实现: Vue内置动画组件 Vue提供了<transition>和<transition-group>两个内置组件,用于处理进入…

elementui组件

elementui组件

ElementUI 组件概述 ElementUI 是一套基于 Vue.js 的桌面端组件库,提供丰富的 UI 组件,适用于快速开发中后台系统。以下是其核心组件分类及典型用法。 基础组件 Button…

uniapp 分页组件

uniapp 分页组件

uniapp 分页组件实现方法 在uniapp中实现分页功能,可以通过自定义组件或使用第三方组件库完成。以下是几种常见实现方式: 自定义分页组件 创建一个名为uni-pagination的组件,模板…

vue 实现组件刷新

vue 实现组件刷新

组件局部刷新 在Vue中实现组件刷新可以通过强制重新渲染组件来实现。常用的方法有以下几种: 使用v-if指令 通过切换v-if条件触发组件的销毁和重建 <template> <…

vue实现盖章组件

vue实现盖章组件

实现Vue盖章组件的步骤 组件结构设计 创建一个Vue组件,包含画布元素和必要的控制按钮。画布用于显示盖章效果,按钮用于触发盖章操作。组件需要接收图片和盖章位置等参数。 <template&g…

java如何调用另一个类的方法

java如何调用另一个类的方法

调用另一个类的方法 在Java中调用另一个类的方法,通常需要创建该类的对象或直接通过类名调用(静态方法)。以下是几种常见的方式: 通过对象实例调用实例方法 创建一个目标类的对象,通过对象调用其方法。…