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.非父子组件间 ...
随机推荐
- 网关 192.168.2.1 114.114.114.114 dns查询
在浏览器输入域名 分析抓包数据 分析 ip 192.168.3.123 网关192.168.2.1
- shell 爬虫 从日志分析到数据采集与分析
[root@VM_61_158_centos ~]# curl http://ip.chinaz.com/220.112.233.179 |grep -e Whwtdhalf.*span.*span. ...
- HDU 5752Sqrt Bo
Sqrt Bo Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)Total S ...
- virtual (C# Reference)
https://msdn.microsoft.com/en-us/library/9fkccyh4.aspx The virtual keyword is used to modify a metho ...
- T4 最小差异值 dvalue
T4 最小差异值 dvalue [问题描述] P 省刚经历一场不小的地震,所有城市之间的道路都损坏掉了,所以省长想请你将城市之间的道路重修一遍. 因为很多城市之间的地基都被地震破坏导致不能修公路了,所 ...
- CollapsingToolbarLayout Toolbar的title覆盖问题
CollapsingToolbarLayout 里: 1 2 app:titleEnabled="true" app:title="Hello" Toolbar ...
- 为了一个句号,写了好多行的代码——值!(html 表单的处理)
个人信息表 <span style="font-size:18px;"><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML ...
- bzoj 3401: [Usaco2009 Mar]Look Up 仰望【单调栈】
用单调递减的栈从后往前扫一遍即可 #include<iostream> #include<cstdio> using namespace std; const int N=10 ...
- C#多线程,基础知识很重要
本文通过介绍C#多线程的用法(基础玩法),附加介绍一下WinForm里边跨线程访问UI的方法 如图,就是这么一个简单的界面,每个按钮下面一个方法,分别设置文本框里边的内容,那么,开始吧! 先介绍一下W ...
- javascript实现继承的4种方法,以及它们的优缺点
1. 原型链继承(有缺陷): 缺陷1:切断了Zi.prototype.constructor与Zi的关系 缺陷2:原型链上的引用类型的数据会被所有实例共享 2. 构造函数继承(有缺陷): 缺陷1:Fu ...