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 相关文章推荐
jsTree树控件(基于jQuery, 超强悍)[推荐]
Sep 01 Javascript
juqery 学习之三 选择器 层级 基本
Nov 25 Javascript
统计jQuery中各字符串出现次数的工具
May 03 Javascript
javascript中拼接HTML字符串的最快、最好的方法
Jun 07 Javascript
JQuery实现动态表格点击按钮表格增加一行
Aug 24 Javascript
JavaScript获取当前运行脚本文件所在目录的方法
Feb 03 Javascript
探讨:JavaScript ECAMScript5 新特性之get/set访问器
May 05 Javascript
微信小程序 实现tabs选项卡效果实例代码
Oct 31 Javascript
JS实现的简单标签点击切换功能示例
Sep 21 Javascript
详解如何在React组件“外”使用父组件的Props
Jan 12 Javascript
微信小程序上线发布流程图文详解
May 06 Javascript
JS实现简易贪吃蛇游戏
Aug 24 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
php处理文件的小例子(解压缩,删除目录)
2013/02/03 PHP
memcache一致性hash的php实现方法
2015/03/05 PHP
JavaScript高级程序设计 读书笔记之八 Function类及闭包
2012/02/27 Javascript
JS控件的生命周期介绍
2012/10/22 Javascript
JavaScript极简入门教程(三):数组
2014/10/25 Javascript
实例分析js和C#中使用正则表达式匹配a标签
2014/11/26 Javascript
jquery+css实现绚丽的横向二级下拉菜单-附源码下载
2015/08/23 Javascript
js发送短信倒计时的简单实现方法
2016/09/08 Javascript
Bootstrap实现带暂停功能的轮播组件(推荐)
2016/11/25 Javascript
node.js+captchapng+jsonwebtoken实现登录验证示例
2017/08/17 Javascript
实现单层json按照key字母顺序排序的示例
2017/12/06 Javascript
JavaScript基于数组实现的栈与队列操作示例
2018/12/22 Javascript
JavaScript碰撞检测原理及其实现代码
2020/03/12 Javascript
vue组件入门知识全梳理
2020/09/21 Javascript
[04:51]TI10典藏宝瓶Ⅱ外观视频展示
2020/08/15 DOTA
[48:24]完美世界DOTA2联赛PWL S3 Forest vs INK ICE 第一场 12.09
2020/12/12 DOTA
Python基于scrapy采集数据时使用代理服务器的方法
2015/04/16 Python
python如何在循环引用中管理内存
2018/03/20 Python
Python实现爬取百度贴吧帖子所有楼层图片的爬虫示例
2018/04/26 Python
python 限制函数执行时间,自己实现timeout的实例
2019/01/12 Python
解决Django部署设置Debug=False时xadmin后台管理系统样式丢失
2020/04/07 Python
pycharm中选中一个单词替换所有重复单词的实现方法
2020/11/17 Python
美国新蛋IT数码商城:Newegg.com
2016/07/21 全球购物
香港No.1得奖零食网:香港零食大王
2016/07/22 全球购物
Foreo国际站:Foreo International
2018/10/29 全球购物
实习心得体会
2014/01/02 职场文书
毕业生自我鉴定实例
2014/01/21 职场文书
马云北大演讲完整版:真心话,什么才是阿里的核心竞争力?
2014/04/04 职场文书
3的组成教学反思
2014/04/30 职场文书
本科毕业生自荐信
2014/06/02 职场文书
2014年小学教师工作自我评价
2014/09/22 职场文书
幼儿园大班毕业评语
2014/12/31 职场文书
酒店财务总监岗位职责
2015/04/03 职场文书
2015年禁毒工作总结
2015/04/30 职场文书
用position:sticky完美解决小程序吸顶问题的实现方法
2021/04/24 HTML / CSS
「天才王子的赤字国家重生术」妮妮姆·拉雷粘土人开订
2022/03/21 日漫