Vue父子组件之间通信的原理

  父组件:props down —— 父组件通过props向下传递数据给子组件

  子组件:events up —— 子组件通过事件events向上传递数据给父组件

下面我们来看一下具体的实现效果:

父组件 ==》子组件

1、首先在父组件上通过v-bind设置属性传值例如key、item、index

<div id="root"><input v-model="inputValue" /><button @click="butClick">submit</button><ul>     //在父组件定义属性传值<list-item v-for="(item,index) of list":key="index":item="item":index="index"@delete="liDelete"//父组件自定义事件delect></list-item></ul>
</div>

2、然后子组件通过props接收属性,属性值可以在子组件中任意使用

//这里定义一个全局组件,就不单独写一个.vue文件了Vue.component('list-item',{   //子组件通过props接收props:['item','index'],template:'<li>{{item}} <button @click="liClick">删除</button></li>',methods:{liClick:function(){this.$emit('delete',this.index)//子组件通过$emit触发delete事件,把当前的index传给父组件}}
})

子组件 ==》父组件

1、父组件自定义一个事件方法,即delete

2、子组件通过$emit触发delete事件,把当前的index传给父组件

new Vue({//绑定元素el:'#root',//数据
    data:{inputValue:'',list:[]},methods:{butClick:function(){if(this.inputValue !==''){this.list.push(this.inputValue)}this.inputValue = '';},liDelete:function(index){this.list.splice(index,1)}}
})

实现效果:

转载于:https://www.cnblogs.com/hess/p/10877185.html

vue入门学习篇——父子组件通信相关推荐

  1. Vue(一)父子组件通信

    Vue 父子组件通信的三种方案 解决方法 使用props进行通信 使用事件分发机制(EventBus) $parent 属性 vuex方式 (后续补充) 结构图 一. props p r o p s ...

  2. 四、Vue组件化开发学习笔记——父子组件通信,父级向子级传值(props),子级向父级传值(自定义事件),slot插槽

    一.父子组件的通信 在上一篇博文中,我们提到了子组件是不能引用父组件或者Vue实例的数据的. 但是,在开发中,往往一些数据确实需要从上层传递到下层: 比如在一个页面中,我们从服务器请求到了很多的数据. ...

  3. Vue 学习06——Vue父子组件通信、非父子组件通信1

    目录 ​㋀㋊ ✎ 父子组件间通信(Communication) ◆ 组件间通信 父组件向子组件传递数据 ➬  ① 前言 ② demo ➬ 还有一种形式叫做插槽 ◆ 子组件向父组件传递数据 ① 前言 ② ...

  4. Vue.js 父子组件通信的十种方式;告诉世界前端也能做 AI;你可能不知道的14个JavaScript调试技巧...

    记得点击文章末尾的"阅读原文"查看哟~ 下面先一起看下本周的摘要吧~ 想了解老用户如何参与阿里云双十一1折拼团特惠主机的,可以看第二条推送,文中提供了两种方法~,一起看看本周有哪些 ...

  5. vue组件通信案例练习(包含:父子组件通信及平行组件通信)

    文章目录 一.案例概述 二.代码 准备工作: 案例1.1:父组件向子组件传值(或者叫:子组件使用父组件属性),采用v-bind方式实现 案例1.2:子组件向父组件传值(或者叫:子组件调用父组件方法), ...

  6. vue入门学习(基础篇)

    vue入门学习总结: vue的一个组件包括三部分:template.style.script. vue的数据在data中定义使用. 数据渲染指令:v-text.v-html.{{}}. 隐藏未编译的标 ...

  7. Vue.js-Day04-AM【父子组件通信(父传子、子传父)、动态组件、组件的生命周期、动画】

    Vue.js实训[基础理论(5天)+项目实战(5天)]博客汇总表[详细笔记] 目   录 1.复习父子组件通信 1.1.父传子(自定义属性) 1.2.子传父(自定义事件) 2.动态组件 2.1.实现 ...

  8. Vue.js-Day03-PM【组件通信(安装Vetur插件、父子组件通信、子父组件通信)、项目发送与启动(项目发给别人、启动别人的项目)】

    Vue.js实训[基础理论(5天)+项目实战(5天)]博客汇总表[详细笔记] 目   录 6.组件通信 安装 Vetur 插件 6.1.父子组件通信 子定义props 父组件模板 图解 6.2.子父组 ...

  9. vue组件通信之父子组件通信

    准备工作: 首先,新建一个项目,如果这里有不会的同学,可以参考我转载过的文章 http://www.cnblogs.com/Sky-Ice/p/8875958.html  vue 脚手架安装及新建项目 ...

最新文章

  1. .NET WinForm中给DataGridView自定义ToolTip并设置ToolTip的样式
  2. mysql 最小配置_如何配置全世界最小的 MySQL 服务器
  3. jQuery是什么,jQuery入门简介
  4. Django 设置中文和中国时区
  5. win10下编译GANet
  6. Virtio SCSI设备介绍
  7. js页面跳转与url获取
  8. c语言中的面积和体积计算器,C语言编程问题(面积计算器)——新手问题
  9. Linux CentOS 学习笔记
  10. 7-2 学生成绩排序 (15 分)
  11. 计算机毕设(附源码)JAVA-SSM基于Internet快递柜管理系统
  12. asp.net928-研究生报名系统
  13. 6种优秀的浏览器兼容性测试工具
  14. python 多任务
  15. wxPython安装终极方法
  16. 使用NCBI数据库查询并使用BLAST比对新冠病毒及九种变种的核酸序列
  17. 用java实现Simsimi小黄鸡接口
  18. POJ-2251 Dungeon Master
  19. Luffy项目整体流程(一)
  20. 《JAVA编程思想》中暗藏的设计模式

热门文章

  1. python创造订单失败_使用Python API创建新订单,get AttributeError:“str”对象没有属性“iteritems”...
  2. 现在电脑的主流配置_主流级玩家 应该如何配置高性价比电脑
  3. 数据预处理之数据描述
  4. python爬电影_零基础Python爬虫实现(爬取最新电影排行)
  5. php的数据结构有哪些,PHP数据结构有几种
  6. 相机模型与标定(二)--相机模型
  7. mysql中设置字符,MySQL 修改默认字符集
  8. pip 离线安装_安装不上python的模块怎么办?别怕,我这有妙招!
  9. oracle宣传片,会声会影X8震撼的宣传片效果该怎么制作?
  10. java html对象属性_java中对象属性可以是另外一个对象或对象的参考