vue中minxin和hooks区别

1、Mixins 代码:

const myMixin = {
  data() {
    return {
      count: 0
    };
  },
  
  mounted() {
    console.log('Component mounted');
  },
  
  computed: {
    doubleCount() {
      return this.count * 2;
    }
  },
  
  methods: {
    increment() {
      this.count++;
    }
  }
};
 
export default {
  mixins: [myMixin]
}

2、hooks代码

import { ref, onMounted, computed } from 'vue';
 
export default {
  setup() {
    const count = ref(0);
    
    onMounted(() => {
      console.log('Component mounted');
    });
    
    const doubleCount = computed(() => count.value * 2);
    
    function increment() {
      count.value++;
    }
    
    return {
      count,
      doubleCount,
      increment
    };
  }
}

Mixins 是vue2的用法,通过对象的方式进行定义和应用,在组件中的属性和方法会与组件本身的属性和方法进行合并,可能会导致命名冲突或不可预料的行为。

Hooks 是vue3的用法,使用函数的方式定义和使用,可以将相关的逻辑和状态封装为自定义的 Hook 函数,相对来说更安全。

相关推荐
GDAL9 分钟前
HTML 中的 Canvas 样式设置全解
javascript
m0_5287238114 分钟前
HTML中,title和h1标签的区别是什么?
前端·html
Dark_programmer15 分钟前
html - - - - - modal弹窗出现时,页面怎么能限制滚动
前端·html
GDAL20 分钟前
HTML Canvas clip 深入全面讲解
前端·javascript·canvas
禾苗种树21 分钟前
在 Vue 3 中使用 ECharts 制作多 Y 轴折线图时,若希望 **Y 轴颜色自动匹配折线颜色**且无需手动干预,可以通过以下步骤实现:
前端·vue.js·echarts
GISer_Jing26 分钟前
Javascript排序算法(冒泡排序、快速排序、选择排序、堆排序、插入排序、希尔排序)详解
javascript·算法·排序算法
贵州数擎科技有限公司43 分钟前
使用 Three.js 实现流光特效
前端·webgl
JustHappy1 小时前
「我们一起做组件库🌻」做个面包屑🥖,Vue的依赖注入实战💉(VersakitUI开发实录)
前端·javascript·github
拉不动的猪1 小时前
刷刷题16
前端·javascript·面试
kiramario1 小时前
【结束】JS如何不通过input的onInputFileChange使用本地mp4文件并播放,nextjs下放入public文件的视频用video标签无法打开
开发语言·javascript·音视频