props父子通信

props (写在子组件) 通过父组件给子组件传递函数类型的props实现:子给父传递数据

子传父  1.父组件定义一个方法,再通过子组件标签通知子组件,

2.子组件props,然后再使用该方法,通过该方法的参数通知父组件

子传父图

1.

2.

注意数据在哪个组件,在那里修改数据

总结TodoList案例

  1. 组件化编码流程:

    (1).拆分静态组件:组件要按照功能点拆分,命名不要与html元素冲突。

    (2).实现动态组件:考虑好数据的存放位置,数据是一个组件在用,还是一些组件在用:

    1).一个组件在用:放在组件自身即可。

    2). 一些组件在用:放在他们共同的父组件上(状态提升)。

    (3).实现交互:从绑定事件开始。

  2. props适用于:

    (1).父组件 ==> 子组件 通信

    (2).子组件 ==> 父组件 通信(要求父先给子一个函数)

  3. 使用v-model时要切记:v-model绑定的值不能是props传过来的值,因为props是不可以修改的!

  4. props传过来的若是对象类型的值,修改对象中的属性时Vue不会报错,但不推荐这样做。

localStorage方法

1.window.localStorage.setItem("key","value")

2.window.localStorage.getItem("key")

3.window.localStorage.removeItem("key")

4.window.localStorage.clear()

sessionStorage方法与localStorage一样,当关闭浏览器会清空

自定义事件

  1. 一种组件间通信的方式,适用于:子组件 ===> 父组件

  2. 使用场景:A是父组件,B是子组件,B想给A传数据,那么就要在A中给B绑定自定义事件(事件的回调在A中)。

  3. 绑定自定义事件:

    1. 第一种方式,在父组件中:<Demo @atguigu="test"/><Demo v-on:atguigu="test"/>

    2. 第二种方式,在父组件中:

      <Demo ref="demo"/>
      ......
      mounted(){this.$refs.xxx.$on('atguigu',this.test)
      }
    3. 若想让自定义事件只能触发一次,可以使用once修饰符,或$once方法。

  4. 触发自定义事件:this.$emit('atguigu',数据)

  5. 解绑自定义事件this.$off('atguigu')

  6. 组件上也可以绑定原生DOM事件,需要使用native修饰符。

  7. 注意:通过this.$refs.xxx.$on('atguigu',回调)绑定自定义事件时,回调要么配置在methods中,要么用箭头函数,否则this指向会出问题!

自定义事件 子组件传递父组件数据方法1

1)父组件中在School标签绑定atguigu事件,该事件绑定回调函数getSchoolName

<School v-on:atguigu="getSchoolName" @add="addNumber"/>

2)在父组件中定义好回调函数

3)子组件School定义触发函数

4)子组件中 让该函数触发事件(atguigu)

自定义事件 子组件传递父组件数据方法2

1)父组件中的子组件标签定义ref属性“getSchool”

2)在挂载函数通过refs方法把atguigu挂载在School的vc上,并定义回调函数

3)子组件School定义触发函数  并通过触发函数触发atguigu事件

11.5 Vue day06 父子组件通信、自定义事件相关推荐

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

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

  2. Vue 非父子组件通信方案

    Vue 非父子组件通信方案 概述 在 Vue 中模块间的通信很普遍 如果是单纯的父子组件间传递信息,父组件可以使用 props 将数据向下传递到子组件,而在子组件中可以使用 events (父组件需要 ...

  3. Vue 非父子组件通信 (ref)

    Vue 非父子组件通信 (ref) 流程:1. 先在son子组件中定义一个数据和事件处理程序data( ) { return { flag: false }} , methods: { cry( ) ...

  4. Vue的父子组件通信(十种)

    设计的面试题 Vue中父子组件通信有哪些方式? 概述 通信方式无外乎就那几种: Prop 常用$emit 组件封装用的较多.sync 语法糖 (较少)$attrs和$listeners(组件封装用的较 ...

  5. html中的父子通信代码,Vue.js 父子组件通信的十种方式

    面试官:Vue 中父子组件通信有哪些方式? 自己先想一分钟. 无可否认,现在无论大厂还是小厂都已经用上了 Vue.js 框架,简单易上手不说,教程详尽,社区活跃,第三方套件还多.真的是前端开发人员必备 ...

  6. vue的父子组件通信

    父子组件通信: 1.父组件向子组件传递数据,子组件可以使用 props 接收父组件的数据 2.子组件可以使用this.$emit触发父组件的自定义事件 父组件通过props向子组件传递数据 第一步:需 ...

  7. VUE非父子组件通信

    非父子组件通信 vue非父子组件传值方式,本文章整理了两种方式:vuex和总线bus.vuex相比于总线bus来说非常的稳定,推荐直接使用vuex. 我看其他的文章基本上是[点击导航栏回退的时候,去获 ...

  8. Vue 非父子组件通信

    前面的话 在实际业务中,除了父子通信外,还有很多非父子组件通信的场景,非父子组件一般有两种,兄弟组件和跨多级组件.Vue.js 2.x中,使用一个空的Vue实例作为中央事件总线(bus). 中央事件总 ...

  9. 【Vue】父子组件通信

    [Vue]父子组件通信 前言 父组件向子组件传值 法一: props 法二: $parent 子组件向父组件传值 $emit $emit + .sync $refs v-model 前言

最新文章

  1. java 类名重复_更快地重复访问Java的Java类名?
  2. shell连接mysql
  3. 线段树之单点更新,区域求和
  4. 从压缩文件将数据导入SQL Server
  5. 调整oracle数据库编码
  6. oracle应用技术期末考试,Oracle数据库应用技术
  7. 2015C蓝桥杯C++A:格子中输出(详细讲解)
  8. 路过秋天版博客 V2.0 正式版发布 增加后台管理系统[支持多语言、多用户、多数据库、目录级URL]...
  9. linux ffmpeg插件,Linux FFmpeg(含x264、lame插件)安装记录
  10. java 判断 string null_java 字符串为null 如何判断
  11. 数据库查询简单练习(五)
  12. Python数据可视化:线型、Marker、简单折线图、多柱状图、基本饼形图与嵌套饼形图
  13. 首个AI公园探秘:身高体重一秒被曝,大爷大妈坐无人车玩疯了
  14. STC12C5A60S2单片机驱动超声波
  15. 让电脑键盘L键变成锁定计算机怎么办,教你电脑键盘按键错乱怎么恢复
  16. imx6 android4.4 Recovery添加从U盘升级功能
  17. WinX DVD Ripper for Mac(DVD视频格式转换工具)
  18. 2022年度安徽省职业院校技能大赛中职组“网络搭建与应用”赛项竞赛试题
  19. sunday算法简介
  20. python求excel平均值_python帮助计算excel文件上的平均值和std

热门文章

  1. [机器学习与scikit-learn-12]:数据预处理-5-重新编码:特征的二值化、oneHot编码
  2. 对短视频应该持有的正确态度-今抖云创
  3. Shell 编程的老臣 - gawk
  4. 禁止远程计算机,win7系统禁止计算机远程控制的操作教程
  5. RN FlatList使用详解及源码解析
  6. day01---day06
  7. 九度 oj 1019
  8. go binary包
  9. 视光学常用检查参数解释
  10. Java Comparator源码总结 Comparator源码注释翻译和解析中英文对照版