VUE--mixins的一些理解。
概念:混入 (mixins) 是一种分发 Vue 组件中可复用功能的非常灵活的方式。混入对象可以包含任意组件选项。当组件使用混入对象时,所有混入对象的选项将被混入该组件本身的选项。
用法:
1、创建混入对象:在src
文件夹创建mixins文件夹,再在mixins文件夹下创建一个index.js
文件
// 创建一个需要混入的对象
export const mixinstest = {
data(){
return {
testMix: '混入对象的data'
}
},
created(){
console.log('这是混入对象的created')
},
methods:{
mixinsFun(){
console.log('调用混入对象的methods的函数')
}
},
computed:{
testMix2(){
return this.testMix+':这是混入对象计算结果。'
}
},
watch: {
testMix(newVal,oldVal){
console.log('混入对象的watch')
}
}
}
2、在组件内引入并引用混入
<template>
<div>
<div>{{testMix}}</div>
<div @click="mixinsFun">{{testMix}}</div>
<input type="text" v-model="testMix">
<div>{{testMix2}}</div>
</div>
</template>
<script>
import {mixinstest} from '../../mixins/index'
export default {
mixins: [mixinstest],
data (){
return {
testMix:'这是组件的数据'
}
},
created(){
console.log('这是组件的created')
},
methods: {
mixinsFun(){
console.log('调用组件的methods的函数')
}
},
computed:{
testMix2(){
return this.testMix+':这是组件计算结果'
}
},
watch: {
testMix(newVal,oldVal){
console.log('组件的watch')
}
}
}
</script>
<style> </style>
3、相关的解释
3.1 当在组件中和混入中有相同的‘testMix’这个数据时,显示组件中’testMix’对应的数据,当只用混入中有’testMix‘函数时,显示混入中’testMix’对应的数据。
3.2 在组件中和混入中有相同的函数mixinsFun()时,在组件中调用时,调用的是组件中的mixinsFun()函数,当只用混入中有mixinsFun()函数时,在组件中调用mixinsFun()是调用混入中的。
3.3 在组件中和混入中有相同的computed函数testMix2()时,在组件中调用时,调用的是组件中的testMix2()函数,当只用混入中有computed函数testMix2()时,在组件中调用testMix2()是调用混入中的。
3.4在组件中和混入中有相同的created()函数时,先执行混入中的created,再执行组件中的created。猜想其他生命周期也应该是一样。
3.5在组件中和混入中有相同的watch()函数testMix时,先执行混入中watch的testMix,再执行组件中watch的testMix。
VUE--mixins的一些理解。的更多相关文章
- Vue mixins(混入)
建立一个公共组件,然后对该组件进行混入继承. 注意会走两个生命周期,谨慎使用 mixins混入,相当于生成new 组件:组件引用,相当与在父组件内开辟了一块单独的空间 mixins适用于,两个有非常相 ...
- _ 下划线 vue mixins 混入 变量前有下划线 变量不起作用
_ 下划线 vue mixins 混入 变量前有下划线 变量不起作用
- VUE mixins(混入)
mixins是在引入组件之后 将组件内部的内容如data等方法.method等属性与父组件相应内容进行合并 相当于在引入后 父组件的各种属性方法都被扩充了. 单纯组件引用: 父组件 ...
- vue中keepalive怎么理解?---vue中文社区
vue中keepalive怎么理解? 说在前面: keep-alive是vue源码中实现的一个组件, 感兴趣的可以研究源码 https://github.com/vuejs/vue/blob/dev/ ...
- Vue中$nextTick的理解
Vue中$nextTick的理解 Vue中$nextTick方法将回调延迟到下次DOM更新循环之后执行,也就是在下次DOM更新循环结束之后执行延迟回调,在修改数据之后立即使用这个方法,能够获取更新后的 ...
- vue渐进式开发的理解和指令
1.vue渐进式开发 vue是一个渐进式的框架,轻量,易于上手,为啥是渐进式那,我当时也很蒙,比如的官网是jquery写的,就可以通过script标签引入事先准备好的vue.min.js的压缩源代码或 ...
- Vue学习之--------深入理解Vuex之多组件共享数据(2022/9/4)
在上篇文章的基础上:Vue学习之--------深入理解Vuex之getters.mapState.mapGetters 1.在state中新增用户数组 2.新增Person.vue组件 提示:这里使 ...
- vue mixins的使用
官网传送 刚开始接触vue的时候,官网关于mixins的例子看了好几遍,发现还是不会用,包括vuex也是后来慢慢理解一点的,不过和vuex比起来.mixns还是很好理解,简单很多了 就我目前理解mix ...
- vue mixins应用场景
学习知识得在应用场景中去应用,这样才能真正学到东西,记忆也深刻,以后碰到类似的东西就会了. 1.在assets文件夹下创建一个js文件 // 创建一个需要混入的对象 export const mixi ...
- 十、vue mixins 的用法
vue中mixins个人理解就是定义一些公用的比较常用的方法,类似我们vue中将一些常用的组件也会抽离出来做成一个公共组件一样,只不过vue中mixins是定义的是法或者计算属性,然后将其混入(合并) ...
随机推荐
- Introduction to Partial View
By Jignesh Trivedi on May 14, 2015 http://www.c-sharpcorner.com/UploadFile/ff2f08/partial-view-in-mv ...
- win7桌面鼠标右键过慢的解决方案
由于Intel显卡驱动在桌面右键的加载项造成.解决方案:清理注册表中桌面右键加载项,点击开始,输入regedit,找到HKEY_CLASSES_ROOT\Directory\Background\sh ...
- (转)Asp.Net生命周期系列一
原文地址:http://www.cnblogs.com/skm-blog/archive/2013/07/07/3176713.html Asp.Net生命周期对于初级甚至中级程序员来说,一直都是一个 ...
- c# 如何筛选datatable
对DataTable数据各种筛选 筛选一个DataTable的数据,赋值给另外一个DataTable 假设: 有2个DataTable:DataTable A.DataTable B. 要求: 筛选D ...
- php 递归删除目录
/* * 递归删除目录 */ function deletedir($dir){ if($handle = @opendir($dir)){ while($file = readdir($handle ...
- 《C#多线程编程实战》2.6 ManualResetEventSlim
这个比较好理解的. 正如书上所言,如同一直在打开的大门的屋子,谁要进去,谁就自己的关门,出来的时候在开开. 常用的方法 有三个: Set() //设置为有信号,也就是让等待的线程不用继续等待,唤醒等 ...
- sqlite数据库文件查看
- ios app提交之前需要哪几个证书
1.遇到的问题 一款App在别人的机器上开发和发布,现在迭代更新和开发需要在一台新mac机上开发和发布. (使用同一个开发者账号)问题: 1.在新mac机器上开发并导入真机测试,是不是需要从别人的机器 ...
- 【bzoj4103】[Thu Summer Camp 2015]异或运算 可持久化trie树
Description 给定长度为n的数列X={x1,x2,...,xn}和长度为m的数列Y={y1,y2,...,ym},令矩阵A中第i行第j列的值Aij=xi xor yj,每次询问给定矩形区域i ...
- centos7多节点部署redis4.0.11集群
1.服务器集群服务器 redis节点node-i(192.168.0.168) 7001,7002node-ii(192.168.0.169) 7003,7004node-iii(192.168.0. ...