广告
返回顶部
首页 > 资讯 > 前端开发 > 其他 >vue中mixin和组件的区别是什么
  • 250
分享到

vue中mixin和组件的区别是什么

mixin组件Vue 2023-05-14 22:05:42 250人浏览 薄情痞子
摘要

本教程操作环境:windows7系统、vue3版,DELL G3电脑。什么是Mixin?混合 (mixins) 是一种分发 Vue 组件中可复用功能的非常灵活的方式。混合对象可以包含任意组件选项。当组件使用混合对象时,所有混合对象的选项将被

vue中mixin和组件的区别是什么

教程操作环境:windows7系统、vue3版,DELL G3电脑。

什么是Mixin?

混合 (mixins) 是一种分发 Vue 组件中可复用功能的非常灵活的方式。

混合对象可以包含任意组件选项。

当组件使用混合对象时,所有混合对象的选项将被混入该组件本身的选项。【相关推荐:vuejs视频教程、WEB前端开发

mixin和组件的区别

组件在引用之后相当于在父组件内开辟了一块单独的空间,来根据父组件props过来的值进行相应的操作,单本质上两者还是泾渭分明,相对独立。

而mixins则是在引入组件之后,则是将组件内部的内容如data等方法、method等属性与父组件相应内容进行合并。相当于在引入后,父组件的各种属性方法都被扩充了。

单纯组件引用:

  • 父组件 + 子组件 >>> 父组件 + 子组件

mixins:

  • 父组件 + 子组件 >>> new父组件

有点像注册了一个vue的公共方法,可以绑定在多个组件或者多个Vue对象实例中使用。另一点,类似于在原型对象中注册方法,实例对象即组件或者Vue实例对象中,仍然可以定义相同函数名的方法进行覆盖,有点像子类和父类的感觉。

mixins和vuex区别

Mixins:可以定义共用的变量,在每个组件中使用,引入组件中之后,各个变量是相互独立的,值的修改在组件中不会相互影响。如果相同对象,组件会覆盖mixins

vuex:用来做状态管理的,里面定义的变量在每个组件中均可以使用和修改,在任一组件中修改此变量的值之后,其他组件中此变量的值也会随之修改。

mixins的使用

1、首先创建一个js文件,例如elTableAdsorbent.js

export const elTableAdsorbent = {
  data() {
    return {
      count:10
    }
  },
  methods: {
    // 显示页面中所有内容
    handleCount() {
      this.count++
  }
}

或者

// 定义一个混入对象
    var myMixin = {
        data(){
            return{
                parent: 405
            }
        },
        mounted: function () {
            this.hello()
        },
        methods: {
            hello: function () {
                console.log(this.parent, 'hello from mixin!')
            }
        }
    }

2、然后在需要此需求的vue页面引入并且使用

<el-button type="primary" @click="handleCount">{{count}}</el-button>
 
import { elTableAdsorbent } from '@/utils/mixin/elTableAdsorbent'
 
export default {
  mixins: [elTableAdsorbent],
  data() {
    return {}
  },
  created(){},
  methods:{}, 
  watch:{}
}

3、同名钩子函数将合并为一个数组,因此都将被调用。另外,混入对象的钩子将在组件自身钩子之前调用。

var mixin = {
  created: function () {
    console.log('混入对象的钩子被调用')
  }
}

new Vue({
  mixins: [mixin],
  created: function () {
    console.log('组件钩子被调用')
  }
})

// => "混入对象的钩子被调用"
// => "组件钩子被调用"

4、两个对象键名冲突时,取组件对象的键值对。

var mixin = {
  methods: {
    conflicting: function () {
      console.log('from mixin')
    }
  }
}

var vm = new Vue({
  mixins: [mixin],
  methods: {
    conflicting: function () {
      console.log('from self')
    }
  }
})
vm.conflicting() // => "from self"

mixins的应用

var install = function (Vue, options) {
  // 1. 添加全局方法或属性
  Vue.myGlobalMethod = function () {
    // 逻辑...
  }
  // 2. 添加全局资源
  Vue.directive('my-directive', {
    bind (el, binding, vnode, oldVnode) {
      // 逻辑...
    }
    ...
  })
  // 3. 注入组件
  Vue.mixin({
    created: function () {
      // 逻辑...
    }
    ...
  })
  // 4. 添加实例方法
  Vue.prototype.$myMethod = function (options) {
    // 逻辑...
  }
}

学习视频分享:vuejs入门教程、编程基础视频)

以上就是vue中mixin和组件的区别是什么的详细内容,更多请关注编程网其它相关文章!

--结束END--

本文标题: vue中mixin和组件的区别是什么

本文链接: https://www.lsjlt.com/news/205859.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • vue中mixin和组件的区别是什么
    本教程操作环境:windows7系统、vue3版,DELL G3电脑。什么是Mixin?混合 (mixins) 是一种分发 Vue 组件中可复用功能的非常灵活的方式。混合对象可以包含任意组件选项。当组件使用混合对象时,所有混合对象的选项将被...
    99+
    2023-05-14
    mixin 组件 Vue
  • vue中mixin和组件的区别有哪些
    这篇文章主要介绍“vue中mixin和组件的区别有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“vue中mixin和组件的区别有哪些”文章能帮助大家解决问题。mixin和组件的区别:组件在引用之...
    99+
    2023-07-04
  • vue组件中require和import的区别是什么
    vue组件中require和import的区别有:1.本质不同;2.遵循的规范不同;3.调用方式不同;4.性能不同;5.基本语法不同;vue组件中require和import的区别有以下几点本质不同import是一个解构过程,import语...
    99+
    2022-10-06
  • Vue中的插件和组件有什么区别
    这篇文章主要介绍了Vue中的插件和组件有什么区别的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Vue中的插件和组件有什么区别文章都会有所收获,下面我们一起来看看吧。一、组件是什么回顾以前对组件的定义:组件就是把...
    99+
    2023-06-30
  • vue全局组件和局部组件的区别是什么
    本教程操作环境:windows7系统、vue3版,DELL G3电脑。Vue中组件分为两种: 全局组件局部组件接下来我们看看两种组件的区别:一、使用范围:全局组件使用范围:可以在页面中任何位置使用局部组件使用范围:只能在定义它的el中使用,...
    99+
    2023-05-14
    Vue
  • Vue中props组件和slot标签的区别是什么
    本文小编为大家详细介绍“Vue中props组件和slot标签的区别是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“Vue中props组件和slot标签的区别是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧...
    99+
    2023-07-05
  • vue中组件化和模块化有什么区别
    本教程操作环境:windows7系统、vue3版,DELL G3电脑。模块化的由来在网页开发的早期,js制作作为一种脚本语言,做一些简单的表单验证或者动画实现,代码量比较少,只要写在script标签里面就可以了随着ajax异步请求的出现,慢...
    99+
    2023-05-14
    前端 Vue.js
  • vue中插件和组件的区别有哪些
    这篇文章主要为大家展示了“vue中插件和组件的区别有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“vue中插件和组件的区别有哪些”这篇文章吧。 ...
    99+
    2022-10-19
  • Vue中props组件和slot标签的区别
    在 Vue 中,props 和 slot 都是组件之间进行通信的机制,它们的作用和应用场景有一些区别: props 是一种组件的数据传递机制,...
    99+
    2023-05-14
    Vue中props组件和slot标签的区别 Vue中props组件 Vue中slot标签
  • vue中mvvm和mvc的区别是什么
    本篇内容介绍了“vue中mvvm和mvc的区别是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!mvvm和mvc的区别:1、mvvm各部分...
    99+
    2023-07-04
  • vue中$route和$router的区别是什么
    今天就跟大家聊聊有关vue中$route和$router的区别是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。路由的设置和跳转中有两个对象$router和$route,是不是很像...
    99+
    2023-06-25
  • vue中@click和@click.native.prevent的区别是什么
    这篇文章主要介绍“vue中@click和@click.native.prevent的区别是什么”,在日常操作中,相信很多人在vue中@click和@click.native.prevent的区别是什么问题上存在疑惑,小编查阅了各式资料,整理...
    99+
    2023-06-30
  • bootstrap和vue的区别是什么
    bootstrap和vue的区别:1、bootstrap和vue不是一个层级的东西;2、bootstrap是基于HTML、CSS、JavaScript开发的前端开发框架,而vue是一套用于构建用户界面的渐进式JavaScript框架;3、b...
    99+
    2022-10-22
  • vue和react的区别是什么
    本文小编为大家详细介绍“vue和react的区别是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“vue和react的区别是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。具体分析如下:监听数据变化的实现原...
    99+
    2023-06-05
  • vue中axios和ajax区别是什么
    vue中axios和ajax区别是:axios是通过promise实现对ajax技术的一种封装,而ajax则是实现了网页的局部数据刷新。axios可以说是ajax,而ajax不止是axios。用法相同,但个别参数不同。axios用法:axi...
    99+
    2022-10-14
  • Vue中的computed和watch的区别是什么
    Vue中的computed和watch的区别是什么,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。下面带大家认识Vue中的computed 和 watch,介绍一下compu...
    99+
    2023-06-22
  • vue插件组件库用法有什么区别
    Vue作为一个流行的前端框架,具有组件化的设计思想。为了方便开发者,Vue社区中涌现出了很多的插件和组件库,其中包括了很多优秀的UI组件,例如Element UI、Ant Design Vue等。然而,初学Vue的开发者可能会感到困惑,不知...
    99+
    2023-05-18
  • vue中异步组件和动态组件的区别有哪些
    本篇内容主要讲解“vue中异步组件和动态组件的区别有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“vue中异步组件和动态组件的区别有哪些”吧! ...
    99+
    2022-10-19
  • vue和uni-app的区别是什么
    这篇文章主要讲解了“vue和uni-app的区别是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“vue和uni-app的区别是什么”吧! ...
    99+
    2022-10-19
  • Vue中的watch、watch和computed的区别是什么
    本文小编为大家详细介绍“Vue中的watch、watch和computed的区别是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“Vue中的watch、watch和computed的区别是什么”文章能帮助大家解决疑惑,下面跟着小编的思路...
    99+
    2023-07-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作