冇事来学系--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中的数据

目录
相关文章
|
开发框架 JavaScript 前端开发
彻底搞懂Vue中的Mixin混入(保姆级教程)
前言 Vue框架现在基本上已经占据了前端的半壁江山,Vue的数据驱动和组件化的思想深入人心。Vue全家桶可能很多小伙伴都比较熟悉,在工作上也用得比较得心应手。但是今天讲的Vue中这个Mixin的用法我相信还有很多小伙伴不知道或者没有用过,或者有些小伙伴接手别人的Vue项目时看到里面有个Mixin文件夹,也会用,但是一直都是云里雾里的状态,今天我们就好好聊聊Mixin,争取以后不在犯迷糊。
800 0
彻底搞懂Vue中的Mixin混入(保姆级教程)
|
1月前
|
前端开发 JavaScript 安全
【亮剑】探讨了在React TypeScript应用中如何通过道具(props)传递CSS样式,以实现模块化、主题化和动态样式
【4月更文挑战第30天】本文探讨了在React TypeScript应用中如何通过道具(props)传递CSS样式,以实现模块化、主题化和动态样式。文章分为三部分:首先解释了样式传递的必要性,包括模块化、主题化和动态样式以及TypeScript集成。接着介绍了内联样式的基本用法和最佳实践,展示了一个使用内联样式自定义按钮颜色的例子。最后,讨论了使用CSS模块和TypeScript接口处理复杂样式的方案,强调了它们在组织和重用样式方面的优势。结合TypeScript,确保了样式的正确性和可维护性,为开发者提供了灵活的样式管理策略。
|
8月前
|
JavaScript
Vue3 Reactive及其衍生函数 源码探析
Vue3 Reactive及其衍生函数 源码探析
|
开发框架 JavaScript 前端开发
什么~?Vue3马上就成为了Vue的新的默认版本,扶我起来,还能学…^-^
什么~?Vue3马上就成为了Vue的新的默认版本,扶我起来,还能学…^-^
什么~?Vue3马上就成为了Vue的新的默认版本,扶我起来,还能学…^-^
|
JavaScript
Vue自定义指令(二)浅窥
Vue自定义指令(二)浅窥
|
JavaScript
Vue黑科技之组件万能通信方法
Vue黑科技之组件万能通信方法
113 0
|
缓存 JavaScript 前端开发
我明白了,Vue3设计与实现-响应式系统的作用与实现-读后感
读了前三章,了解了虚拟dom的局部更新的设计思路,也知道了vue这个框架的开发体验、框架体积控制、剔除无用代码、不同资源输出格式、特性开关、错误处理、TS支持等等,它们互相配合,从而大大的降低了开发者的心智压力,这些也是衡量一个框架的质量指标,vue做的很好。 vue3中通过声明式的模板UI,编译器将模板或组件转成虚拟dom,再由渲染器转成真实dom,编译器中做了优化,从而使得渲染器能够更快找到变更的元素,性能上得到了很大的优化。
155 0
我明白了,Vue3设计与实现-响应式系统的作用与实现-读后感
|
JavaScript
|
JavaScript 开发者
冇事来学系--Vue2.0中自定义指令
什么是自定义指令 vue官方提供了v-text、v-for、v-if、v-model等指令,此外vue还允许开发者自定义指令
97 0
|
存储 JavaScript 前端开发
冇事来学系--Vue2.0中ref引用
jQuery相比于原生JS,牛逼在简化了操作DOM的过程 vue的优势:MVVM框架,在vue中,不需要操作DOM,程序员只需要把数据维护好即可(数据驱动视图) 假设:在vue中需要操作DOM,需要获取到页面上某个DOM元素的引用,该如何?---> 使用ref引用
155 0

热门文章

最新文章