Vue2.0基于vue-cli+webpack父子组件通信(实例讲解)


Posted in Javascript onSeptember 14, 2017

在git命令行下,执行以下命令完成环境的搭建:

1,npm install --global vue-cli 安装vue命令行工具

2,vue init webpack vue-demo 使用vue命令生成一个webpack项目,项目名称为vue-demo

Vue2.0基于vue-cli+webpack父子组件通信(实例讲解)

3,cd vue-demo 切入项目

4,npm install安装package.json中的所有依赖包

5,npm run dev运行项目

一、父组件向子组件传递数据

然后删除默认的Hello.vue组件,把App.vue整理成以下样子:

<template>
 <div id="app">
 这是一个空的app
 </div>
</template>

<script>
 export default {
 name : 'app'
 }
</script>

<style>

</style>

把router下面index.js文件修改如下:

import Vue from 'vue'
import Router from 'vue-router'

Vue.use(Router)

export default new Router({
 routes: [
 {
  path: '/',
 }
 ]
})

1、在components目录下创建一个子组件Child.vue

代码如下:

<template>
 <div>
  <h3>这是子组件</h3>
  <p>{{content}}</p>
 </div>
</template>
<script>
export default {
 props : ['content']
}
</script>

2、把App.vue的代码修改如下:

<template>
 <div id="app">
 <child :content="msg"></child>
 </div>
</template>

<script>
 import child from './components/Child.vue';
 export default {
 name : 'app',
 data(){
  return {
  'msg' : '这是来自父组件的问候'
  }
 },
 components : {
  child
 }
 }
</script>

这样就完成了父组件通过props属性向子组件传递数据

也可以用v-bind绑定属性

<template>
 <div id="app">
 <child :content="msg"></child>
 <child v-bind:content="msg"></child>
 </div>
</template>

小结:

子组件在props中创建一个属性,用以接收父组件传过来的值

父组件中调用子组件

在子组件标签中绑定子组件props中创建的属性

把需要传给子组件的值赋给该属性,如我们上文中父组件的msg

二、子组件向父组件传递数据

1,把Child.vue修改如下:

<template>
 <div>
  <h3>这是子组件</h3>
  <p>{{content}}</p>
  <p>
   <input type="button" value="告诉父王一个消息" v-on:click="send">
  </p>
 </div>
</template>
<script>
export default {
 props : ['content'],
 methods : {
  send(){
   this.$emit( 'ParentRecEv', "父王,孩儿正在跟ghostwu学习vue2.0" )
  }
 }
}
</script>

子组件通过$emit发送一个自定义的事件ParentRecEv, 后面参数是内容

2,App.vue修改如下

<template>
 <div id="app">
 <child :content="msg"></child>
 <child v-bind:content="msg" v-on:ParentRecEv="showMsg"></child>
 <p>{{data}}</p>
 </div>
</template>

<script>
 import child from './components/Child.vue';
 export default {
 name : 'app',
 data(){
  return {
  'msg' : '这是来自父组件的问候',
  data : ''
  }
 },
 methods : {
  showMsg( msg ){
  this.data = msg;
  }
 },
 components : {
  child
 }
 }
</script>

在第二个子组件监听事件ParentRecEv,当子组件点击按钮就会触发这个自定义事件,然后触发showMsg函数,就能收到子组件传递的数据,没有绑定自定义事件是不能收到子组件发送的信息的.

小结:

子组件中通过$emit触发一个自定义事件

将需要传的值作为$emit的第二个参数,该值会被父组件的方法接收到

在父组件中调用子组件并在子组件标签上绑定发送的自定义事件

他们的共同点就是有桥梁,子向父的桥梁是自定义事件$emit,父向子的桥梁是props中的属性. 这就是他们之间传递数据的关键

以上这篇Vue2.0基于vue-cli+webpack父子组件通信(实例讲解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
用JTrackBar实现的模拟苹果风格的滚动条
Aug 06 Javascript
jQuery)扩展jQuery系列之一 模拟alert,confirm(一)
Dec 04 Javascript
ASP.NET jQuery 实例7 通过jQuery来获取DropDownList的Text/Value属性值
Feb 03 Javascript
js实现按钮控制图片360度翻转特效的方法
Feb 17 Javascript
拥有一个属于自己的javascript表单验证插件
Mar 24 Javascript
Javascript自执行匿名函数(function() { })()的原理浅析
May 15 Javascript
支持移动端原生js轮播图
Feb 16 Javascript
ionic2 tabs 图标自定义实例
Mar 08 Javascript
基于Jquery Ajax type的4种类型(详解)
Aug 02 jQuery
vue-cli webpack模板项目搭建及打包时路径问题的解决方法
Feb 26 Javascript
解决百度Echarts图表坐标轴越界的方法
Oct 17 Javascript
vue-quill-editor的使用及个性化定制操作
Aug 04 Javascript
对于js垃圾回收机制的理解
Sep 14 #Javascript
使用SVG基本操作API的实例讲解
Sep 14 #Javascript
JSON 数据格式详解
Sep 13 #Javascript
JS库 Highlightjs 添加代码行号的实现代码
Sep 13 #Javascript
详解动画插件wow.js的使用方法
Sep 13 #Javascript
JS库之Highlight.js的用法详解
Sep 13 #Javascript
详解wow.js中各种特效对应的类名
Sep 13 #Javascript
You might like
制作个性化的WordPress登陆界面的实例教程
2016/05/21 PHP
PDO::quote讲解
2019/01/29 PHP
thinkPHP5框架路由常用知识点汇总
2019/09/15 PHP
非常不错的功能强大代码简单的管理菜单美化版
2008/07/09 Javascript
js监听表单value的修改同步问题,跨浏览器支持
2009/12/31 Javascript
javascript 文章截取部分无损html显示实现代码
2010/05/04 Javascript
网站页面自动跳转实现方法PHP、JSP(下)
2010/08/01 Javascript
理解JavaScript中的对象 推荐
2011/01/09 Javascript
改变隐藏的input中value值的方法
2014/03/19 Javascript
javascript模拟订火车票和退票示例
2014/04/24 Javascript
javascript实现瀑布流自适应遇到的问题及解决方案
2015/01/28 Javascript
快速掌握Node.js环境的安装与运行方法
2016/02/16 Javascript
Javascript实现鼠标框选操作  不是点击选取
2016/04/14 Javascript
fullCalendar中文API官方文档
2017/02/07 Javascript
jQuery Ajax全解析
2017/02/13 Javascript
jQuery插件FusionCharts绘制的2D双面积图效果示例【附demo源码】
2017/04/11 jQuery
javascript 封装Date日期类实例详解
2017/05/28 Javascript
微信小程序实现自定义picker选择器弹窗内容
2020/05/26 Javascript
jQuery实现查看图片功能
2020/12/01 jQuery
以一段代码为实例快速入门Python2.7
2015/03/31 Python
Python基础中所出现的异常报错总结
2016/11/19 Python
python shell根据ip获取主机名代码示例
2017/11/25 Python
通过python的matplotlib包将Tensorflow数据进行可视化的方法
2019/01/09 Python
利用Python进行图像的加法,图像混合(附代码)
2019/07/14 Python
Python3分析处理声音数据的例子
2019/08/27 Python
Python将字典转换为XML的方法
2020/08/01 Python
Philosophy美国官网:美国美容品牌
2016/08/15 全球购物
lookfantastic荷兰:在线购买奢华护肤、护发和化妆品
2018/11/27 全球购物
鼓励运动员的广播稿
2014/02/08 职场文书
金融系毕业生自荐书
2014/07/08 职场文书
学生违反校规检讨书
2014/10/28 职场文书
2014保险公司个人工作总结
2014/12/09 职场文书
学校社团活动总结
2015/05/07 职场文书
西部计划志愿者工作总结
2015/08/11 职场文书
Python list列表删除元素的4种方法
2021/11/01 Python
Python编写车票订购系统 Python实现快递收费系统
2022/08/14 Python