当前位置: 首页 > news >正文

工作室项目推荐网络优化器下载

工作室项目推荐,网络优化器下载,合肥电商运营公司排名,蚌埠网站开发外包这里写目录标题 Vue组件的几种通信(数据传递)方式非父子组件间通信(Bus事件总线)介绍实例 非父子通信-provide&inject1.作用2.场景3.语法4.注意 父子组件间的通信固定props属性名(v-model)介绍实例 不固…

这里写目录标题

  • Vue组件的几种通信(数据传递)方式
    • 非父子组件间通信(Bus事件总线)
      • 介绍
      • 实例
    • 非父子通信-provide&inject
      • 1.作用
      • 2.场景
      • 3.语法
      • 4.注意
    • 父子组件间的通信
    • 固定props属性名(v-model)
      • 介绍
      • 实例
    • 不固定属性名(.sync)
      • 介绍
      • 实例

Vue组件的几种通信(数据传递)方式

非父子组件间通信(Bus事件总线)

介绍

编写一个js文件来作为 中介, 接收消息的一方,通过监听 o n ( ) 方法进行接收,消息的发送方通过 on()方法进行接收,消息的发送方通过 on()方法进行接收,消息的发送方通过emit()向总线发送消息,依次来达到通信的目的,发布订阅模式,消息的接收方可以有多个。

实例

  1. 创建一个都能访问的事件总线 (空Vue实例)

    import Vue from 'vue'
    const Bus = new Vue()
    export default Bus
    
  2. A组件(接受方),监听Bus的 $on事件

    import Bus from '../utils/EventBus'created () {Bus.$on('sendMsg', (msg) => {this.msg = msg})
    }
    
  3. B组件(发送方),触发Bus的$emit事件

    import Bus from '../utils/EventBus'Bus.$emit('sendMsg', '这是一个消息')
    

非父子通信-provide&inject

1.作用

跨层级共享数据

2.场景

在这里插入图片描述

3.语法

  1. 父组件 provide提供数据
export default {provide () {return {// 普通类型【非响应式】color: this.color, // 复杂类型【响应式】userInfo: this.userInfo, }}
}

2.子/孙组件 inject获取数据

export default {inject: ['color','userInfo'],created () {console.log(this.color, this.userInfo)}
}

4.注意

  • provide提供的简单类型的数据不是响应式的,复杂类型数据是响应式。(推荐提供复杂类型数据)
  • 子/孙组件通过inject获取的数据,不能在自身组件内修改

父子组件间的通信

固定props属性名(v-model)

介绍

利用v-model的原理进行父子组件间的通信,v-model可以进行拆分:①:value ② @input 事件 要求在子组件中props属性中的属性名必须为 value: $emit()中的事件名必须为input

实例

子组件

<select :value="value" @change="handleChange">...</select>
props: {value: String
},
methods: {handleChange (e) {this.$emit('input', e.target.value)}
}

父组件

<BaseSelect v-model="selectId"></BaseSelect>

不固定属性名(.sync)

介绍

主要是为了对v-model中的情况做一些补充,表单数据在传输时可以使用value这些比较合适,但是有些不合适,例如:下拉列表等,好处是,不用固定value属性名 可以进行自定义 , 在父组件中的属性后面加.sync ,在子组件中的$emit()中事件名使用 @update:属性名

实例

父组件

//.sync写法
<BaseDialog :visible.sync="isShow" />
--------------------------------------
//完整写法
<BaseDialog :visible="isShow" @update:visible="isShow = $event" 
/>

子组件

props: {visible: Boolean
},this.$emit('update:visible', false)
http://www.khdw.cn/news/54556.html

相关文章:

  • 迅 网站 模板竞价托管外包服务
  • 如何做网站策划案人民日报最新消息
  • 如何制作网页小游戏搜索引擎优化的主要工作
  • 网页设计与网站建设 作业怎么查权重查询
  • 做网站做网站的公司刷链接浏览量网站
  • 淘宝做网站杭州seo托管公司推荐
  • 洛阳网站的优化seo优化排名
  • 成都网页制作baishuhome谷歌seo课程
  • 重庆建设摩托车官方网站长沙seo外包优化
  • 泰安集团网站建设报价搜索关键词优化
  • 郑州网站建设郑州网站建设七彩科技优化方案官网
  • 如何提升网站转化率指数函数求导
  • 17网站一起做网店潮汕档口网络营销案例ppt课件
  • 团购汽车最便宜的网站建设山东关键词快速排名
  • 做企业网站 长春微商引流人脉推广软件
  • 网站建设博客作业沈阳市网站
  • 谁可以做网站优化排名推广上海aso优化公司
  • 免费建立小程序网站广东seo加盟
  • 网站怎么做镜像知识营销案例
  • 自己想做一个网站怎么做的google seo优化
  • html网站要怎么做的品牌推广方案范文
  • wordpress 突然404seo外链发布软件
  • 怎么做vip视频网站微营销平台
  • 做游戏交易网站有哪些淘宝的前100个关键词排名
  • 搭建网站需要多少钱东莞最新消息今天
  • 网站建设销售实习报告做网站企业
  • 北京中心网站建设免费企业黄页查询官网
  • 哪个网站可以做批发玻璃胶搜索指数的数据来源是什么
  • 广州做网站怎么样郴州网络推广外包公司
  • 国外包装设计网站班级优化大师使用指南