首页 > 其他分享 >Vue mixin(混入)

Vue mixin(混入)

时间:2022-11-17 13:33:57浏览次数:40  
标签:hunhe2 混入 Vue name 配置 mixin

1、mixin配置

mixin中文叫混入或者混合,作用是可以把多个组件共用的配置提取成一个混入对象,就是提取成共用一个配置

2、定义mixin

  • 混入(mixin)的定义需是一个对象,然后Vue里的每个配置都可以写在混合对象里,比如,methods,data,mounted等
  • 混入里定义的配置会和Vue中配置进行整合,
  • 如果混入和Vue配置中都有定义,除mounted是都会生效外,其他的都是以Vue中的配置为主,混入不会去破坏Vue中的配置

在src目录下新建一个mixin.js文件(命名可以随意)

//定义一个混合对象为hunhe
export const hunhe = {
    //如果在vue配置中也定义了同名的方法,则以vue配置中为主
    methods: {
        showName(){
            alert(this.name)
        }
    },
    //如果Vue中也定义了mounted,则都会进行挂载
    mounted() {
        console.log('你好啊!')
    },
}

//定义一个混合对象为hunhe2
export const hunhe2 = {
    //如果在vue配置中也定义了同名的data属性,则以vue配置中为主
    data() {
        return {
            x:100,
            y:200
        }
    },
}

3、使用混入配置

局部引入使用

<template>
    <div>
        <h2 @click="showName">学校名称:{{name}}</h2>
        <h2>学校地址:{{address}}</h2>
    </div>
</template>

<script>
    //引入混入配置
    import {hunhe,hunhe2} from '../mixin'

    export default {
        name:'School',
        data() {
            return {
                name:'国际幼儿园大班',
                address:'上海',
                x:666
            }
        },

        //配置混入(mixins),是一个数组
        mixins:[hunhe,hunhe2],
    }
</script>

全局引入使用

main.js全局引入并设置混入

import Vue from 'vue'
import App from './App.vue'

//导入混入配置文件
import {hunhe,hunhe2} from './mixin'
//全局配置混入
Vue.mixin(hunhe)
Vue.mixin(hunhe2)

//创建vm
new Vue({
    el:'#app',
    render: h => h(App)
})

 

在组件中即可直接使用

<template>
    <div>
        <h2 @click="showName">学生姓名:{{name}}</h2>
        <h2>学生性别:{{sex}}</h2>
    </div>
</template>
<script>
    export default {
        name:'Student',
        data() {
            return {
                name:'张三',
                sex:'男'
            }
        }
    }
</script>

 

 

 

标签:hunhe2,混入,Vue,name,配置,mixin
From: https://www.cnblogs.com/weslie/p/16899194.html

相关文章

  • vue router keepalive 未生效的原因
    组件文件名称和组件名称不一致。如图,文件名称为index.vue,但是name为Review,两者不一致,导致缓存页面不成功。 解决方案:第一种:在index.vue中手动设置component的名称为......
  • 尚硅谷vue课程之vue中的mvvm
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metahttp-equiv="X-UA-Compatible"content="IE=edge"><metaname="viewport"content......
  • Vue新老系统切换(By 权)
    Vue新老系统切换1-    卸载node.js2-   https://github.com/coreybutler/nvm-windows/releases 下载nvm 3..安装后cmd  nvm-v 4.cmd里输入 nvmi......
  • vue 解决el-table 表体数据发生变化时,未重新渲染问题|页面不更新问题
    一、所遇到的问题在使用el-table组件时,数据已经发生了变化,但是页面显示的数据却没变化;二、解决办法在el-table中添加一个key,可以设置成boolean类型的,在数据更新后更新......
  • vue3点击其他元素隐藏固定DIV
    vue3点击其他元素隐藏固定DIV显示的内容<divv-if="hSearch"ref="iscity"><div><inputclass="h-9w-full"placeholder="内容搜索..."/></div></div>元......
  • vue项目中utils常用的js方法
    constbaseURL=process.env.VUE_APP_BASE_API//日期格式化exportfunctionparseTime(time,pattern){if(arguments.length===0||!time){returnnul......
  • vue网页滚动到一定程度出现动画效果
    script代码 data(){    return{      toShow3:false,    };  }mounted(){window.addEventListener('scroll',th......
  • Vue props配置
    1、props配置项props的作用是让组件接收外部传过来的数据(接收参数)2、组件传参向组件Student传入参数:name,sex,age<!--第一种方式:直接写参数名=xxx,传入的是字符串形式-......
  • vue纯前端导入excel,获取excel的表格数据渲染el-table并纯前端分页实现方法
    因为项目开发的过程中不是所有的表格数据由后台处理返回,因为有些数据不需要在数据库落地,只做前端页面展示并且获取表格的数据上传即可,所以需要前端纯处理excel的数据。第......
  • Vue ref属性
    ref属性1.被用来给元素或子组件注册引用信息(id的替代者)2.应用在html标签上获取的是真实DOM元素,应用在组件标签上是组件实例对象(vc)3.使用方式:  1.打标识:<h1re......