当前位置:首页 > VUE

Vue函数实现

2026-03-27 20:36:05VUE

Vue 函数式组件实现

函数式组件在 Vue 中是一种无状态(无 data)和无实例(无 this 上下文)的组件形式,通常用于性能优化或简单渲染逻辑。

定义函数式组件

Vue函数实现

// 方式1:通过 functional 选项
export default {
  functional: true,
  render(h, context) {
    return h('div', context.props.text)
  }
}

使用 setup 函数(Vue 3)

Vue函数实现

import { h } from 'vue'

export default {
  setup(props) {
    return () => h('div', props.text)
  }
}

高阶函数封装

利用工厂函数生成可复用的逻辑:

function withLoading(WrappedComponent) {
  return {
    data() {
      return { isLoading: false }
    },
    methods: {
      showLoading() { this.isLoading = true },
      hideLoading() { this.isLoading = false }
    },
    render(h) {
      return h(WrappedComponent, {
        props: {
          ...this.$props,
          loading: this.isLoading
        }
      })
    }
  }
}

组合式函数(Vue 3)

使用 composables 实现逻辑复用:

// useCounter.js
import { ref } from 'vue'

export function useCounter(initialValue = 0) {
  const count = ref(initialValue)
  const increment = () => count.value++
  return { count, increment }
}

// 组件中使用
import { useCounter } from './useCounter'

export default {
  setup() {
    const { count, increment } = useCounter()
    return { count, increment }
  }
}

渲染函数注意事项

  • 使用 h() 函数创建虚拟节点
  • 事件监听需通过 on 前缀指定,如 onClick
  • 插槽内容通过 context.slots() 访问
render(h) {
  return h('button', {
    on: {
      click: this.handleClick
    }
  }, this.$slots.default)
}

标签: 函数Vue
分享给朋友:

相关文章

php 函数实现

php 函数实现

PHP 函数实现基础 PHP 函数的定义使用 function 关键字,后跟函数名和参数列表。函数名不区分大小写,但建议保持一致。 function functionName($param1, $p…

Vue echarts实现散点图

Vue echarts实现散点图

Vue ECharts 实现散点图 安装 ECharts 在 Vue 项目中安装 ECharts 依赖: npm install echarts --save 引入 ECharts 在组件中引入 E…

Vue项目实现rem

Vue项目实现rem

Vue 项目中实现 rem 适配方案 在 Vue 项目中实现 rem 适配,主要目的是让页面元素根据屏幕尺寸自动调整大小。以下是几种常见方法: 使用 postcss-pxtorem 插件 安装 po…

Vue 实现下载

Vue 实现下载

Vue 实现文件下载的方法 前端下载(纯前端生成文件) 适用于需要动态生成文件内容并下载的场景,如导出表格数据为 CSV 或 Excel。 // 创建 Blob 对象并触发下载 const dow…

Vue实现酷炫

Vue实现酷炫

Vue实现酷炫效果的方法 使用Vue.js可以轻松实现各种酷炫的交互效果和动画。以下是几种常见的实现方式: 使用Vue过渡和动画 Vue提供了内置的过渡和动画系统,可以通过<transitio…

Vue实现点击div实现图片切换

Vue实现点击div实现图片切换

实现思路 通过Vue的数据绑定和事件监听,动态修改当前显示的图片路径或索引,实现点击div切换图片的效果。核心是利用v-on监听点击事件,并结合v-bind动态绑定图片的src属性。 基础实…