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 函数,相对来说更安全。

相关推荐
凉辰12 分钟前
使用uni.createInnerAudioContext()播放指定音频(踩坑分享功能)
开发语言·javascript·音视频
echoVic27 分钟前
多模型支持的架构设计:如何集成 10+ AI 模型
java·javascript
程序员Agions31 分钟前
useMemo、useCallback、React.memo,可能真的要删了
前端·react.js
echoVic31 分钟前
AI Agent 安全权限设计:blade-code 的 5 种权限模式与三级控制
java·javascript
David凉宸33 分钟前
Vue 3 + TS + Vite + Pinia vs Vue 2 + JS + Webpack + Vuex:对比分析
javascript·vue.js·webpack
滕青山33 分钟前
Vue项目BMI计算器技术实现
前端·vue.js
子兮曰37 分钟前
深入浏览器指纹:Canvas、WebGL、Audio是如何暴露你的身份的?
前端·浏览器·canvas
月亮补丁39 分钟前
AntiGravity只能生成 1:1 图片?一招破解尺寸限制
前端
何中应44 分钟前
MindMap部署
前端·node.js
boooooooom44 分钟前
Pinia必学4大核心API:$patch/$reset/$subscribe/$onAction,用法封神!
javascript·vue.js·面试