冇事来学系--Vue2.0中mixin混入(混合)和props

简介: 概念可以将各个组件中可 共有的数据和方法 抽离出来写成一个混合对象

局部混入


  • 定义混入:新建一个mixin.js文件,里面声明一个对象,保存被复用的数据和方法。并且将这个对象暴露出去
// mixin.js
const mixin = {     // 不一定命名为mixin
  // 被复用的属性和方法
}
export const hunhe = {      // 暴露的多种写法
  // 被复用的属性和方法
}
export  mixin // 这里最好使用分别暴露,别用默认暴露,因为可以声明多个混合,在组件中按需引入
  • 引入混入:根据暴露的方法,在组件中通过import引入需要用到的混入对象
  • 配置混入:在组件中配置一个mixins节点,值是一个数组,里面元素是需要使用的混入对象
import {mixin, hunhe} from '../mixin.js'
export default {
  name: 'Test',
  data(){},
  methods: {},
  mixins: [mixin,hunhe]
}
  • 若在mixin.js中写的属性和方法 与 引入它的组件中的属性和方法 产生了冲突,则以组件中的配置为准
  • 在mixin.js中写的生命周期钩子,也会在所有引入混合的组件中生效,且不会与组件本身的生命周期钩子的设置产生冲突(即两边写的都会生效)


全局混入:


全局混入需要使用Vue.mixin( )方法

  • 引入混入:在main.js中引入需要使用的混入对象
  • 配置混入:在main.js中,使用Vue.mixin( ),参数写的是需要使用的混入对象
// main.js
import Vue from 'vue'
import {mixin, hunhe} from './mixin.js'
Vue.mixin(mixin)
Vue.mixin(hunhe)

使用全局混入后,整个应用的所有组件(vc)和vm都会得到混入模块


例子:

两个组件中都要使用到一模一样的show方法,则可以将show方法抽离出来,在mixin.js中声明混入对象。在需要使用show方法的组件中进行引入和配置即可


props的功能


让组件接收外部传递的数据

  • 传递数据

在使用组件标签的时候写入,如:

  • 接收数据
  1. 简单声明接收

props: ['name', 'age', 'sex']

  1. 接收的同时对数据类型进行限制

props: {

name: String,

age: Number,

sex: String

}

  1. 更全面的设置:数据类型的限制+必要性的限制/默认值的设置

props: {

name: {

type: String,

required: true // 必传的选项

},

age: {

type: Number,

default: 18 // 非必传的选项,若没有传递此项数据,则默认值为18

},

sex: {

type: String,

required: true

}

}

注意:required和default不能一起出现

注意点

props是只读的,Vue底层会监测对props的修改。若进行修改,就会发出警告。如果业务需求确实需要修改props的数据,那么可以复制props的内容到data中,然后去修改以及渲染data中的数据

目录
相关文章
|
虚拟化 Windows
Hyper-v虚拟机安装Windows 11失败问题处理(一)
Hyper-v虚拟机安装Windows 11失败问题处理
3853 0
Hyper-v虚拟机安装Windows 11失败问题处理(一)
|
5月前
|
人工智能 文字识别 API
医疗票据OCR技术演进:从模板匹配到智能理解的突破
医疗票据OCR正从传统模板匹配迈向智能理解新阶段。快瞳科技融合OCR与医疗知识图谱,实现高精度、自适应识别,显著提升效率与准确性,推动医疗数字化智能化升级。
|
人工智能 Python
Python 案例分析|21 点扑克牌游戏
本案例通过一个 21 点扑克牌游戏的设计和实现,帮助大家了解使用 Python 数据类型、控制流程和输入输出。
672 0
Python 案例分析|21 点扑克牌游戏
|
物联网 5G API
怎么在三大运营商中选择物联网卡
在选择物联网卡(IoT卡)的运营商时,您需要考虑几个关键因素,包括网络覆盖、服务质量、价格、功能需求以及后续的技术支持等。中国的三大主要运营商是中国移动、中国联通和中国电信,它们各自在物联网领域有不同的优势和特点。以下是一些建议,帮助您在这三者之间做出选择:
|
存储 数据处理 UED
计算机随机存取存储器(RAM )
【8月更文挑战第4天】
6273 8
|
传感器
光学雨量计雨量传感器的原理与工作机制
光学雨量计雨量传感器的原理与工作机制
光学雨量计雨量传感器的原理与工作机制
|
存储 弹性计算 数据库
阿里云oss备份网站数据的详细步骤
该教程指导如何使用阿里云OSS备份网站数据。首先,注册阿里云账号并购买40GB的OSS存储空间。创建Bucket,选择与服务器相同的区域和私有权限。安装阿里云OSS插件,获取AccessKey信息。在宝塔面板中设置计划任务进行网站或数据库备份,选择内网域名以节省流量。备份完成后,通过文件管理器检查OSS中是否有备份文件。下载备份文件需点击文件名,然后打开文件URL。
974 5
|
存储 数据管理 数据库
现代数据库技术中的分布式一致性问题与解决方案探讨
分布式系统在现代数据库技术中扮演着重要角色,但分布式环境下的数据一致性问题始终是挑战之一。本文深入探讨了分布式一致性的核心概念、各种一致性模型的特点及其在实际应用中的优缺点,旨在为技术从业者提供全面的视角和实用的解决方案。
|
JavaScript Java 测试技术
基于Java的百货中心供应链管理系统的设计与实现(源码+lw+部署文档+讲解等)
基于Java的百货中心供应链管理系统的设计与实现(源码+lw+部署文档+讲解等)
319 0

热门文章

最新文章