vue父子通信的基本使用
项目中没怎么用过父子通信,很多页面都是路由切换实现的,后来做首页的时候发现首页的路径没法配置,我强行在原先的首页上写了个子组件,通过判断路径使其强行跳转实现的
这个时候跳转页面的时候就要使用到了父子间的通信问题了,首页点击详情,跳转详情页需要携带主播id。之前的做法是跳转的时候携带参数($router.push()方法),子组件显然不能这样用。
参考。看代码:
使用新脚手架举例:
父传值给子
helloworld.vue中
<template>
<section>
<!-- 路由跳转时$router.push()中可携带参数 (router/index.js中配置好路径即可)-->
<router-link to="/child">路由跳转</router-link>
<!-- 父子组件传值使用自定义事件监听data值-->
<childCom :message='passData'></childCom>
</setion>
</template>
<script>
import childCom from '@/components/childComponent'
export default {
data () {
return {
passData: 'this is parent's data !'
}
}
}
</script>
子组件childComponent.vue:
<template>
<h4>这里是子组件</h4>
</template>
<script>
export default {
props: ['message'], // 接收父组件中的值
data () {
return {}
},
created() {
console.log(this.message) // this is parent's data !
}
}
</script>
子组件传值到父组件(不能直接改变父组件中的值)
childComponent.vue
<template>
<button @click="changeData"></button> // 点击事件触发
</template>
<script>
export default {
data () {
return {
msg: 'This is child's component'
}
},
methods: {
changeData () {
this.$emit('passMyData', this.msg) // emit触发自定义事件
}
}
}
</script>
helloworld.vue
<childCom @passMyData="getData"></childCom> // 监听自定义事件,子组件触发之后,触发getData事件
methods: {
getData (val) {
console.log(val) // This is child's component 传值成功
}
}
vue父子通信的基本使用的更多相关文章
- vue 父子通信过程
1.概述 每个 Vue 实例都实现了事件接口,即: 使用 $on(eventName) 监听事件 使用 $emit(eventName, optionalPayload) 触发事件 2.示例一(未传递 ...
- vue 父子通信
节制地使用 $parent 和 $children - 它们的主要目的是作为访问组件的应急方法.更推荐用 props 和 events 实现父子组件通信
- vue父子通信
首先在组件创建中创建子组件Todos.vue <template> <div class="hello"> <h1>todos show< ...
- 【转】vue父子组件之间的通信
vue父子组件之间的通信 在vue组件通信中其中最常见通信方式就是父子组件之中的通性,而父子组件的设定方式在不同情况下又各有不同.最常见的就是父组件为控制组件子组件为视图组件.父组件传递数据给子组件使 ...
- angular,vue,react的父子通信
父子通信 父传子 vue: 父组件:<child :msg="datamsg" ></child> //子组件的msg属性上加数据,datamsg是数据 子 ...
- vue父子组件通信高级用法
vue项目的一大亮点就是组件化.使用组件可以极大地提高项目中代码的复用率,减少代码量.但是使用组件最大的难点就是父子组件之间的通信. 子通信父 父组件 <template> <div ...
- vue 父子组件通信详解
这是一篇详细讲解vue父子组件之间通信的文章,初始学习vue的时候,总是搞不清楚几个情况 通过props在父子组件传值时,v-bind:data="data",props接收的到底 ...
- vue之非父子通信
一.非父子通信: 思路: 找个中间存储器,组件一把信息放入其中,组件二去拿 代码如下: let hanfei = new Vue(); # 实列化个空的vue对象,作为中间存储器来时间 ...
- vue第九单元(非父子通信 events 单向数据流)
第九单元(非父子通信 events 单向数据流) #课程目标 了解非父子组件通信的原理,熟练实现非父子组件间的通信(重点) 了解单向数据流的含义,并且明白单向数据流的好处 #知识点 #1.非父子组件间 ...
随机推荐
- 【bzoj4034】[HAOI2015]T2
siz[v]表示以v为根的子树的节点数 top[v]表示v所在的重链的顶端节点 fa[v]表示v的父亲 pos[v]表示v的父边标号 mx[v]表示v的子树中边的标号最大的那条边 参考:http:// ...
- 代理ip 测试
Line #1218 : 101.232.208.245 - - [16/Jan/2018:02:47:34 +0800] "GET /?xltestdesfs HTTP/1.1" ...
- python 矩阵
python的numpy库提供矩阵运算的功能,因此我们在需要矩阵运算的时候,需要导入numpy的包. 1.numpy的导入和使用 from numpy import *;#导入numpy的库函数 im ...
- poj 3683(2-sat+拓扑排序)
Priest John's Busiest Day Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 11127 Accep ...
- 【410】Linux 系统 makefile 文件
makefile 主要是用来合并编译文件 CC = gcc puzzle: puzzle.c boardADT.o $(CC) puzzle.c boardADT.o -o puzzle -lm bo ...
- E20170526-hm
plain n. 平原; 平地; adj. 平的; 素的; 清晰的; 相貌平平的; layout n. 布局,安排,设计; 布置图,规划图; modularity n. 模块化; 模块性 ...
- [App Store Connect帮助]三、管理 App 和版本(8)编辑 App 的用户访问权限
对于具有“App 管理”.“客户支持”.“开发者”.“营销”或“销售”职能的特定人员(均不具有“访问报告”职能),您可以限制其在 App Store Connect 帐户中对 App 的访问权限. 必 ...
- httpd 安装ssl证书
1) 安装ssl模块 # yum install mod_ssl -y Ps:安装完成后,会在/etc/httpd/conf.d/下生成一个ssl.conf配置文件. 2) 先建一个目录用来放ssl证 ...
- Agar.io 简单但是有趣的网页游戏
攻略,进阶 上榜第一次 (有点水,九百多分) 上榜第二次 (完成四杀,逆袭上榜) 上榜第三次 (忘写名字,自己补上) 上榜第四次 (人生巅峰!) 上榜第五次 (踩了狗屎运,上榜这么容易了?收了一个小 ...
- Shape Drawable Resources
1,示例 它们的代码如下: shape_oval.xml <?xml version="1.0" encoding="utf-8"?> <sh ...