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父子组件通信的方法的更多相关文章

  1. vue2.0 父子组件通信 兄弟组件通信

    父组件是通过props属性给子组件通信的来看下代码: 父组件: <parent> <child :child-com="content"></chil ...

  2. vue2.0父子组件通信以及同级组件通信

    1.父向子通信 父组件为singer.vue.子组件为list-view.vue.需要把歌手的数据传给子组件.则绑定 :data = 'singers' ,singers为父组件的值.data为子组件 ...

  3. vue2.0父子组件以及非父子组件通信传参详解

    1.父组件传递数据给子组件 父组件数据如何传递给子组件呢?可以通过props属性来实现 父组件: <parent> <child :child-msg="msg" ...

  4. vue2.0父子组件以及非父子组件如何通信

    1.父组件传递数据给子组件 父组件数据如何传递给子组件呢?可以通过props属性来实现 父组件: <parent> <child :child-msg="msg" ...

  5. vue2.0父子组件以及非父子组件通信

    官网API: https://cn.vuejs.org/v2/guide/components.html#Prop 一.父子组件通信 1.父组件传递数据给子组件,使用props属性来实现 传递普通字符 ...

  6. Vue2.0父子组件间事件派发机制

    从vue1.x过来的都知道,在vue2.0中,父子组件间事件通信的$dispatch和$broadcase被移除了.官方考虑是基于组件树结构的事件流方式实在是让人难以理解,并且在组件结构扩展的过程中会 ...

  7. Vue2.0父子组件之间和兄弟组件之间的数据交互

    熟悉了Vue.js的同级组件之间通信,写此文章,以便记录. Vue是一个轻量级的渐进式框架,对于它的一些特性和优点,请在官网上进行查看,不再赘述. 使用NPM及相关命令行工具初始化的Vue工程,目录结 ...

  8. vue2.0父子组件之间通信

    父组件是通过props属性给子组件通信的来看下代码: 父组件: <parent> <child :child-com="content"></chil ...

  9. vue2.0 父子组件之间的通信问题

    概要: 父组件向子组件通信:props属性 子组件向父组件通信:$emit()触发事件,$on()监听事件 在 vue 1.0 中可以使用$dispatch 和 $broadcast来实现 向上派发事 ...

随机推荐

  1. Python MySQL - 进行数据查询

    #coding=utf-8 import mysql.connector import importlib import sys # reload(sys) # sys.setdefaultencod ...

  2. Mac下通过 brew 安装 Apache 和 PHP

    Mac 自带的是php5.6 ,这里讲一下如果要升级到php7.1需要做的. 1.安装brew https://brew.sh/(官网有提供安装命令 建议使用) ruby -e "$(cur ...

  3. Linux删除目录下的文件的10种方法

    看到了一遍文章,便突发奇想的想起Linux中删除目录下的所有文件的方法:整理了几个,如有不足,还望读者不吝赐教! 删除当前目录下的文件 1.rm -f * #最经典的方法,删除当前目录下的所有类型的文 ...

  4. Swift5 语言参考(七) 属性

    属性提供有关声明或类型的更多信息.Swift中有两种属性,即适用于声明的属性和适用于类型的属性. 您可以通过编写@符号后跟属性的名称以及属性接受的任何参数来指定属性: @attribute name ...

  5. 【AWK】:常用总结

    单机文本数据处理,常用AWK,总结一下AWK最常用的要点,备忘备查. 1.What is AWK(1)Aho.Weinberger.Kernighan三位发明者名字首字母:(2)一个行文本处理工具: ...

  6. golang 切片和数组在for...range中的区别

    切片是引用类型,而数组是值类型,并且for...range有以下规则: range表达式只会在for语句开始执行时被求值一次,无论后边会有多少次迭代 range表达式的求值结果会被复制,也就是说,被迭 ...

  7. Django模版结构优化和加载静态文件

    引入模版 有时候一些代码是在许多模版中都用到的.如果我们每次都重复的去拷贝代码那肯定不符合项目的规范.一般我们可以把这些重复性的代码抽取出来,就类似于Python中的函数一样,以后想要使用这些代码的时 ...

  8. C#递归方法遍历目录及子目录

    众所周知,获得某一目录下第一级的所有文件和文件夹列表,很容易办到:DirectoryInfo di=new DirectoryInfo(strBaseDir);//strBaseDir是起始目录,绝对 ...

  9. 通过超链接启动App

    问题:微信里分享一个链接给你,你点击这个链接,一.如果你安装了这个钱包,那就直接打开钱包.二.如果没有安装钱包就跳转到下载钱包的地方 要点:首先要让浏览器知道 app 是谁,然后再让浏览器调用app ...

  10. DWZ中刷新dialog的方案解决

    在DWZ中进行ajax表单提交后,通过回调函数来返回状态结果,以及返回是否需要刷新父页的navTabId. DWZ给我们提供了两个回调函数,一个是子窗口为navTab的navTabAjaxDone,一 ...