vue组件之间的传参总结
之前写的Vue 子父组件间的传值_WeiflR10的博客-CSDN博客
一、父传子(prop)
第一步:在父组件中定义数据,例:tohome
data () {return {tohome:"给home组件传值",}},
第二步:在<v-home>上绑定个属性,例:title
<v-home :title="tohome"></v-home>
第三步:子组件利用props接收父组件的传值
方法一 props:{'title':String,'bool':Boolean,'getFun':Function},方法二 props:['title','bool','getFun','parent']
第四步:在子组件上绑定传过来的数据
<p>{{title}}</p>
二、子传父($meit)
子组件
<template><div><span>我是子组件</span><button @click="btnClick">点击后给父组件传参</button></div>
</template><script>
export default {data(){return {aa:'我是子组件上的信息'}},methods:{btnClick(){ this.$emit('itemfun',this.aa)}}
}
</script>
父组件
<template><div><span>我是父组件</span><v-home @itemfun='getapp'></v-home><span>{{data}}</span></div>
</template><script>
import home from '../../home'
export default {components:{'v-home':home},data(){return {data:''}},methods:{// 获取子组件填写好的值getapp(val){this.data=val}}
}
</script>
注:如果子组件没有点击事件给父组件传参,可以使用watch监听
子组件
<template><div><span>我是子组件</span></div>
</template><script>
export default {data(){return {aa:''}},// 监听父组件有没有获取到值watch: {aa: {handler (n, o) {this.$emit('itemfun', n);},deep: true}},mounted(){this.aa="我是子组件上的信息"},
}
</script>
父组件的内容和上面一样
三、$refs
在父组件使用this.$refs可以获取到子组件的所有方法和数据
//子组件
<template><div><span>我是子组件</span></div>
</template><script>
export default {data(){return {}}}
</script>//父组件
<template><div><span>我是父组件</span><v-home ref="refHome"></v-home></div>
</template><script>
import home from '../../home'
export default {components:{'v-home':home},data(){return {data:''}},mounted(){console.log(this.$refs) //在父组件输出,可以直接获取home组件的所有数据和方法}
}
</script>
运行结果
四、$parent / $children
注:this就指向Vue实例,所以,this.$parent就是这个页面的父组件;同样的this.$children就是这个页面的子组件;
所以,如果当前在父组件,可以通过this.$children访问子组件的所有数据和方法;如果当前在子组件,可以通过this.$parent访问父组件的所有数据和方法;
如果在子组件1想访问子组件2的所有方法和数据,可以通过this.$parent.$refs也可以通过this.$parent.$children
其实还有很多方法,例如作用域插槽等。可以参考这个文章
Vue组件之间的传参方式小总结_三七安的博客-CSDN博客_vue组件间的参数传递
vue组件之间的传参总结相关推荐
- Vue组件之间的传参方式小总结
学习vue的组件,可能很多人已经了解了组件的创建注册使用,但是随之而来的就是组件之间的通信,父子组件怎么传? 兄弟组件怎么传? 不是父子组件又怎么传? 接下来介绍几种组件之间的传参方式,也是很容易面试 ...
- vue 组件之间传值 父转子,子传父,同级别之间的传参,跨级别传参
写这篇文章之前,我对vue组件之间的传值,还是只知道一些基础的传值方式.虽然工作中勉强能够应对,但是想要行云流水感觉还是心有余而力不足,所以在此,我想总结一下vue组件之间的一些传值方式供大家参考,同 ...
- vue组件之间互相传值:父传子,子传父
vue组件之间互相传值:父传子,子传父 为什么要用到组件间传值? 答:组件实例的作用域是孤立的.这意味着不能 (也不应该) 在子组件的模板内直接引用父组件的数据,也不能直接将子组件的数据传到父组件里面 ...
- vue组件之间的传值的几种方法
vue组件之间传值的几种方法总结 一.父传子 父传子技术就是把父组件中的数据传给子元素调用,用到的方法是 1.在父组件的子组件标签上绑定一个属性,挂载要传输的变量 ,语法是 :属性名 (冒号加属性名) ...
- 深入理解Vue 组件之间传值
一.父组件向子组件传递数据 在 Vue 中,可以使用props向子组件传递数据. 子组件部分: 这是 header.vue 的 HTML 部分,logo 是在 data 中定义的变量. 如果需要从父组 ...
- 【Vue】路由Router传参的两种方式(详解)
本文我们来介绍一下Vue中的 路由传参 问题,首先我们来准备一个基本路由的页面,如下: <!DOCTYPE html> <html lang="en"> & ...
- vue模块给模块传参_Vue店面的Paypal支付模块
vue模块给模块传参 Vue店面PayPal付款扩展 (Vue Storefront PayPal Payment Extension) PayPal Payment module for vue-s ...
- Vue 组件之间的传值方式有哪些?
Vue 组件之间的传值方式有哪些? 在平常写Vue项目时,组件传值必不可少,今天我们就要总结一下有哪些种方式呢? 1.父组件向子组件传值(用props) 子组件 <template>< ...
- vue组件之间的传值(兄弟间的传值)
概要:vue组件之间的传值大致有三种:父传子,子传父,还有兄弟之间,今天我们主要来讲兄弟之间的传值.废话不多说,我们直奔主题 vue 组件兄弟间的传值是要通过一个事件总线来实现(可以把事件总线理解为一 ...
最新文章
- 判断dataset是否为空
- Matlab | Matlab从入门到放弃(2)——索引
- Windows 2012 下Redmine安装和环境搭建
- 在java中使用SPI创建可扩展的应用程序
- NET问答: JS 中有 LINQ SelectMany 方法的等价实现吗?
- 机器学习之琐碎知识(代码运行问题)
- jzoj6309-完全背包【贪心,背包】
- 浮点数比较大小的时候不能直接用等号
- 00 后 CEO 何以“将马云和马化腾两家一网打尽”
- 基于 Laravel 的模块化开发框架 Notadd RC1 fix1 发布
- linux设备驱动(一)
- Linux查看网卡是千兆还是万兆网卡
- Flex TLF 相关知识
- 动态规划入门(走楼梯问题 c++)
- 2019高校运维赛writeup
- 三星官方smdkv210 uboot移植到我的s5pv210开发板
- redis系列-redis的连接
- Python 计算 瑞幸和星巴克 谁的门店最多
- 青少年研学旅行成长平台“青蛙研学”获数百万天使轮融资...
- 关于CAD字体打开乱码,字体自动替换LSP,默认simplex,hztxt
热门文章
- c语言除号“/”的基本规则
- 网上花店销售系统(附源码+课件+讲解+资料+数据库)
- 你见过最赞或最搞笑字幕组翻译有哪些?
- 主成分分析——PCA降维Python实现及碎石图
- 信奥中的数学学习:小学、初高中数学 视频集
- 博士申请 | 香港科技大学(广州)骆昱宇老师招收数据科学全奖博士/硕士/RA/实习生...
- 教授专栏20 | 吴若昊团队: 利用血液游离DNA诊断败血症
- [转载]有经验的人对各种常用IC芯片使用感受
- 计算机开关电源的发展,开关电源发展史及发展趋势剖析
- 关于正负数相除及取余问题