前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。

Vue是一个轻量级的渐进式框架,对于它的一些特性和优点在此就不做赘述,本篇文章主要来探讨一下Vue子父组件通信的问题

首先我们先搭好开发环境,我们首先得装好git和npm这两个工具

环境搭建步骤:

  • 打开git ,运行 npm install --global vue-cli 这是安装vue的命令行
  • vue init webpack vue-demo 这是vue基于webpack的模板项目
  • cd vue-demo 进入vue-demo文件夹
  • npm install 安装package.json中依赖的node_modules
  • npm run dev 运行该项目

刚刚我们创建的是vue基于webpack工具的一个模板项目,对于webpack和热加载这些不熟悉的同学不必在意,我们现在不会过多关注webpack的,不过建议对vue有兴趣的同学还是去了解一下webpack,它也算是vue开发中的一个必备工具


接着我们进入Demo,首先我们可以删除掉模板项目中src/components/Hello.vue,然后在App.vue中删除对于Hello子组件的注册和使用还有一些其他无关紧要的东西,此时的App.vue应为这样

App.png

一.父组件向子组件传值

1.创建子组件,在src/components/文件夹下新建一个Child.vue
2.Child.vue的中创建props,然后创建一个名为message的属性

child.png

3.在App.vue中注册Child组件,并在template中加入child标签,标签中添加message属性并赋值

App2.png

4.保存修改的文件,查看浏览器

browser.png

5.我们依然可以对message的值进行v-bind动态绑定

App3.png

此时浏览器中

browser2.png

父组件向子组件传值成功
总结一下:

  • 子组件在props中创建一个属性,用以接收父组件传过来的值
  • 父组件中注册子组件
  • 在子组件标签中添加子组件props中创建的属性
  • 把需要传给子组件的值赋给该属性

二.子组件向父组件传值

1.在子组件中创建一个按钮,给按钮绑定一个点击事件

Child2.png

2.在响应该点击事件的函数中使用$emit来触发一个自定义事件,并传递一个参数

Child3.png

3.在父组件中的子标签中监听该自定义事件并添加一个响应该事件的处理方法

App4.png

4.保存修改的文件,在浏览器中点击按钮

browser3.png

子组件向父组件传值成功
总结一下:

  • 子组件中需要以某种方式例如点击事件的方法来触发一个自定义事件
  • 将需要传的值作为$emit的第二个参数,该值将作为实参传给响应自定义事件的方法
  • 在父组件中注册子组件并在子组件标签上绑定对自定义事件的监听

在通信中,无论是子组件向父组件传值还是父组件向子组件传值,他们都有一个共同点就是有中间介质,子向父的介质是自定义事件,父向子的介质是props中的属性。

转自:https://www.cnblogs.com/daiwenru/p/6694530.html

VUE:父子组件间传参、子组件传值给父组件、父组件传值给子组件相关推荐

  1. Vue3父子组件间传参通信

    Vue3 父子组件间通信 前言 一.父传子 defineProps 二.子传父 defineEmits 三.子组件暴露属性给父组件 defineExpose 四.依赖注入Provide / Injec ...

  2. React兄弟组件间传参

    React兄弟组件间传参 效果 父组件 子组件1 子组件2 描述: 完整代码 效果 点击子组件1的按钮然后将子组件1的name值传递给子组件2并在页面展示: 父组件 子组件1 子组件2 描述: 兄弟组 ...

  3. VUE:兄弟组件间传参

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 1.定义一个中间  eventBus.js  ,只有 2 行代码,用于传参: // 此页面是vue ...

  4. 前端学习(2659):组件间传参

    第一步 第二步 第三步 子组件定义 第四步

  5. Vue.js父与子组件之间传参 父向子组件传参   例子:App.vue为父,引入componetA组件之后,则可以在template中使用标签(注意驼峰写法要改成componet-a写法,因为ht

    Vue.js父与子组件之间传参 父向子组件传参 例子:App.vue为父,引入componetA组件之后,则可以在template中使用标签(注意驼峰写法要改成componet-a写法,因为html对 ...

  6. Uniapp组件之间传参

    1.父组件内引入子组件,并且子组件使用父组件内的数据 将子组件引入到父组件: <uni-pop :opts="defaultOptions"></uni-pop& ...

  7. 【Vue】路由Router传参的两种方式(详解)

    本文我们来介绍一下Vue中的 路由传参 问题,首先我们来准备一个基本路由的页面,如下: <!DOCTYPE html> <html lang="en"> & ...

  8. vue模块给模块传参_Vue店面的Paypal支付模块

    vue模块给模块传参 Vue店面PayPal付款扩展 (Vue Storefront PayPal Payment Extension) PayPal Payment module for vue-s ...

  9. 小程序页面间传参的五种方式

    文章目录 前言 1.使用globalData 2.使用storage 3.使用url 3.1 api跳转 3.2 组件跳转 4.使用通信通道 5.使用页面栈 总结 前言 由于经常需要进行页面间传参且各 ...

最新文章

  1. .Net 2.0 中的发送邮件实现小解(轉)
  2. Net WebClient 异步批量下载文件
  3. 基于docker搭建svn-server
  4. 扩展SpringMVC WebMvcConfigurerAdapter ||全面接管SpringMVC @EnableWebMvc
  5. DB-Engines 2018:PostgreSQL 蝉联“年度数据库”称号
  6. 笔记-项目整体管理-有难度的题目(转)
  7. Spring中BeanPostProcessor 执行过程
  8. Java IO: InputStream
  9. linux系统有几个系统盘,linux操作系统的分区有哪些种类?各分区主要作用是什么?...
  10. Python3中的map与reduce的用法
  11. HDU-2553N皇后问题(dfs)
  12. SAP License:糟糕的用户比任何系统问题都要危险
  13. linux重置密码的方法和用户切换
  14. c语言存为pdf,c语言10年保存(免费).pdf
  15. 1、javascript的继承function
  16. php mysql zend linux,Linux系统安装配置PHP+MySQL+zend+PHPadmin开发环境
  17. 牛客网-华为机试题(python)
  18. 迅雷“应版权方要求,文件无法下载”完美解决方法!(¥28)
  19. 基于HAL库的STM32F704的电阻式触摸屏的学习
  20. printf如何按二进制格式打印

热门文章

  1. 一步步编写操作系统 65 标准调用约定stdcall 汇编实战
  2. 一步步编写操作系统 31 cpu的分支预测 下
  3. python编码解码单词_在使用w2v时python中的编码问题
  4. 加载中_GIS地图在项目中的加载显示
  5. 【机器学习】 - 关于Keras的深入理解
  6. 【PAT - 甲级1021】Deepest Root (25分)(并查集,暴力枚举)
  7. 【BZOJ - 4318】OSU!(概率dp,数学期望,期望的线性性)
  8. 显示三维图片序列_SLAM结合三维检测
  9. css中的单位换算_css大小单位px em rem的转换和详解
  10. python input 拖入路径 去除转义 空格_python学习笔记(基础-2)(转载)