vue2.0父子组件通信的方法
vue2.0组件通信方法:props传值和emit监听。(.sync方法已经移除。详情请点击)(dispatch-和-broadcast方法也已经废弃)
props方法传值:Props 现在只能单项传递。为了对父组件产生反向影响,子组件需要显式地传递一个事件而不是依赖于隐式地双向绑定。props方法传值比较简单,缺点是属性会比较多。
(1)父传子 [ props传值 ]
<template>
<div>
<input type="text" v-model="name"/>
<myname :test-name="name"></myname>
</div>
</template>
<script type="text/javascript">
export default{
data(){
return {
name:"lihua"
}
},
components:{
myname:{
props:['testName'],
template:"<h4>{{testName}}</h4>"
}
}
}
</script
这里需要注意的是testName 用的驼峰写法,如果是驼峰写法,上面的组件里面就应该是用“-”连接,即:test-name
(1)子传父 [ 使用$emit和$on进行父子组件之间的数据传输 ],也可以进行兄弟组件的传值,原理一样。
- 监听:$on(eventName)
触发:$emit(eventName)
<template>
<div>
<input type="text" v-model="name"/>
<myname></myname>
</div>
</template>
<script type="text/javascript">
import Vue from 'vue'
//准备一个空的实例对象,如果不定义,用this的话,this指向当前组件,达不到效果
//在简单的场景下,你可以使用一个空的 Vue 实例来作为中央事件总线(event bus):
var newOption=new Vue();
export default{
data(){
return {
name:"lihua"
}
},
mounted(){
newOption.$on('test',mag=>{
this.name=mag
})
},
components:{
myname:{
data(){
return {
testName:"张三"
}
},
template:"<div><p>{{testName}}</p><button @click='childEdit'>修改</button></div>",
methods:{
childEdit:function(){
newOption.$emit('test',this.testName)
}
}
}
}
}
</script>
vue2.0父子组件通信的方法的更多相关文章
- vue2.0 父子组件通信 兄弟组件通信
父组件是通过props属性给子组件通信的来看下代码: 父组件: <parent> <child :child-com="content"></chil ...
- vue2.0父子组件通信以及同级组件通信
1.父向子通信 父组件为singer.vue.子组件为list-view.vue.需要把歌手的数据传给子组件.则绑定 :data = 'singers' ,singers为父组件的值.data为子组件 ...
- vue2.0父子组件以及非父子组件通信传参详解
1.父组件传递数据给子组件 父组件数据如何传递给子组件呢?可以通过props属性来实现 父组件: <parent> <child :child-msg="msg" ...
- vue2.0父子组件以及非父子组件如何通信
1.父组件传递数据给子组件 父组件数据如何传递给子组件呢?可以通过props属性来实现 父组件: <parent> <child :child-msg="msg" ...
- vue2.0父子组件以及非父子组件通信
官网API: https://cn.vuejs.org/v2/guide/components.html#Prop 一.父子组件通信 1.父组件传递数据给子组件,使用props属性来实现 传递普通字符 ...
- Vue2.0父子组件间事件派发机制
从vue1.x过来的都知道,在vue2.0中,父子组件间事件通信的$dispatch和$broadcase被移除了.官方考虑是基于组件树结构的事件流方式实在是让人难以理解,并且在组件结构扩展的过程中会 ...
- Vue2.0父子组件之间和兄弟组件之间的数据交互
熟悉了Vue.js的同级组件之间通信,写此文章,以便记录. Vue是一个轻量级的渐进式框架,对于它的一些特性和优点,请在官网上进行查看,不再赘述. 使用NPM及相关命令行工具初始化的Vue工程,目录结 ...
- vue2.0父子组件之间通信
父组件是通过props属性给子组件通信的来看下代码: 父组件: <parent> <child :child-com="content"></chil ...
- vue2.0 父子组件之间的通信问题
概要: 父组件向子组件通信:props属性 子组件向父组件通信:$emit()触发事件,$on()监听事件 在 vue 1.0 中可以使用$dispatch 和 $broadcast来实现 向上派发事 ...
随机推荐
- 虚拟机安装centos7
主要参考这个文档(我已经把网页保存到本地了): http://www.bkjia.com/Linuxjc/867013.html 主要注意: 1.虚拟机网络我选择的桥接模式,在CentOS安装时打开这 ...
- Java - 阅读与查找
WebSites http://www.importnew.com/ https://www.java-tips.org/ http://www.javaworld.com/ http://www.p ...
- python(29)----时间模块
time模块 1. 三种时间表现形式 时间戳(timestamp) 格式化的时间字符串 元祖/结构化时间(struct_time) 2. 时间戳(timestamp) 通常来说,时间戳表示的是从197 ...
- [Leetcode]44.跳跃游戏Ⅰ&&45.跳跃游戏Ⅱ
跳跃游戏链接 给定一个非负整数数组,你最初位于数组的第一个位置. 数组中的每个元素代表你在该位置可以跳跃的最大长度. 判断你是否能够到达最后一个位置. 示例 1: 输入: [2,3,1,1,4] 输出 ...
- 关于oracle RAC心跳线采用直连 还是交换机连接的建议
关于oracle RAC心跳线的连接方式,各个论坛,包括网上文章的说法是:官方说是不建议直连,建议采用交换机连接的方式!PS:但是,一直没有找到官方文档的出处,有知道的兄弟,烦请评论区提供下地址!!! ...
- Centos 7 快速搭建IOS可用IPsec
安装 strongswan yum install -y http://ftp.nluug.nl/pub/os/Linux/distr/fedora-epel/7/x86_64/Packages/e/ ...
- centos6 Linux安装redis 2.6.14
1.获取安装文件 wget http://download.redis.io/redis-stable.tar.gz 2.解压文件 tar xzvf redis-stable.tar.gz 3.进入目 ...
- Quarz.net 设置任务并行和任务串行
如何设置Quarz.net某个任务完成后再继续执行该任务? Quarz.net 的任务有并行和串行两种: 并行:一个定时任务,当执行时间到了的时候,立刻执行此任务,不管当前这个任务是否在执行中: 串 ...
- 怎么样imageview实现铺满全屏
<ImageView android:layout_width="match_parent" android:layout_height="match_parent ...
- JavaScript初探四
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...