当前位置: 首页 > article >正文

3.9、mixins配置(混入)

3.9.1、需求:

点击按钮,分别获取对应的组件信息

son.vue

<template>
    <div>
        <h2>son组件</h2>
        <h3>姓名:{{ name }}</h3>
        <h3>年龄:{{ age }}</h3>
        <button @click="getmsg">点我获取信息</button>
        <hr>
    </div>
</template>

<script>
export default {
    name: 'son',
    data() {
        return {
            name: '章三',
            age: 18,
        }
    },
    methods: {
        getmsg() {
            console.log(this.name,this.age);
            
        }
    }
}
</script>

通过代码发现,无论是在son.vue中,还是girl.vue中,实现点击获取信息的代码是一样的,逻辑也是一样的。这样的代码就可以进行复用,用mixins配置进行混入,

3.9.2、实现的步骤

1、第一步:提取

单独定义一个mixin.js(一般和main.js在同级目录),代码如下:

mixins.js

export const getmsgMixins = {
  methods: {
    getmsg() {
      console.log(this.name, this.age);
    },
  },
};

2、第二步:引入并使用

<script>
// 混入第二步、引入并使用
import { getmsgMixins } from '../mixins.js'
export default {
    name: 'son',
    data() {
        return {
            name: '章三',
            age: 18,
        }
    },
    //混入第三步 使用mixins
    mixins: [getmsgMixins]
    // 混入第一步、提取  将逻辑代码提取到单独的minxis.js中
    
    // methods: {
    //     getmsg() {
    //         console.log(this.name,this.age);

    //     }
    // }
}
</script>

以上演示的是方法methods的混入,实际上混入时没有限制,之前所学的配置项都可以混入。

3.9.3、混入的冲突问题

1、如果在组件本身的方法名,跟mixins.js的方法名重复了,则会产生冲突吗

不会冲突,如果冲突了,会执行组件自身的,不会执行混入的

2、组件的生命周期函数和混入的生命周期函数冲突了?

对于生命周期钩子函数来说,都有的话,采用叠加,先执行混入的,再执行自己的。

<script>
// 混入第二步、引入并使用
import { getmsgMixins } from '../mixins.js'
export default {
      ·····
    // 2、组件中的方法名跟混入的方法名重复了
    // methods: {
    //     getmsg(){
    //       console.log('我是另外一个getmsg函数');
          
    //     }
    // },
    // 3、生命周期函数重复了
    mounted(){
        console.log('我是son组件中的mounted函数');
        
    }
}
</script>

2.9.4、全局混入

 

 

 

 


http://www.kler.cn/a/443154.html

相关文章:

  • JVM实战—12.OOM的定位和解决
  • Nacos server 2.4.0 版本已知问题和 Bug 汇总
  • 六、Angular 发送请求/ HttpClient 模块
  • 软路由如何实现电脑手机一机一IP
  • Figma如何装中文字体-PingFang苹方字体、Alibaba PuHuiTi阿里普惠
  • C++ 常见面试题(二)
  • Netcat:网络中的瑞士军刀
  • Mapbox-GL 的源码解读的一般步骤
  • 网络与安全
  • Unity 模板测试透视效果(URP)
  • 设计模式期末复习
  • Android lib 循环依赖会造成什么问题
  • JS中的闭包详解
  • 搭建分布式ZooKeeper集群
  • 音频开发中常见的知识体系
  • clickhouse-数据库引擎
  • Web APIs - 第5章笔记
  • 海量数据-Vastbase G100数据库安装
  • PHP源码加密之php-beast
  • sqoop导入hdfs,hive
  • Linux查看是否有www-data用户,如果没有添加一个
  • 算法-Z-order算法
  • form表单校验对象中的对象的属性 / 根据表单中某一个数据动态添加其他项是否必填
  • 软件测试丨性能测试基本概念
  • CAD学习 day3
  • MySQL系列之数据类型(String)