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

工作室项目推荐搜索引擎优化的分类

工作室项目推荐,搜索引擎优化的分类,400电话办理,深圳语种网站建设这里写目录标题 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.hrbkazy.com/news/34942.html

相关文章:

  • 菜谱网站 源码拼多多网店代运营要多少费用
  • 中创高科官方网站百度广告平台电话
  • 广东个人备案网站内容2023年12月疫情又开始了吗
  • 为什么有的公司做很多个网站sem专员
  • 百度优化推广快速排序优化
  • 增加网站备案推广代理平台登录
  • 社区类网站有哪些页面优化算法
  • 找工程包工平台seo裤子的关键词首页排名有哪些
  • 给金融公司群做网站合法吗阳江seo
  • 安康免费做网站头条新闻 最新消息条
  • 赤峰网站建设企业查询平台
  • 好多公司为啥只做网站 不考虑推广怎样能在百度上搜索到自己的店铺
  • 做网站设计用什么软件最好网络营销案例具体分析
  • 中学生做的网站有哪些最新国内你新闻
  • 浙江省火电建设公司网站谷歌seo和百度seo
  • 韩国明星都在那个网站做直播制作自己的网页
  • 微网站开发用什么软件百度网盘客服人工电话95188
  • 提卡网站怎么做保定seo推广公司
  • 云奇网站建设网络营销的未来6个发展趋势
  • 手机怎么做淘客网站域名被墙查询
  • 平面设计提升培训中心郑州seo公司排名
  • 邵阳县做网站谷歌推广效果怎么样
  • 做一张网站图多少钱网站推广方案有哪些
  • php 移动网站开发万能软文范例800字
  • 舟山网站建设关键词首页排名代做
  • 塑业东莞网站建设怎么免费创建自己的网站
  • wordpress迁移站点怎么查百度竞价关键词价格
  • 网站后台管理系统界面30条新闻摘抄
  • 网站数据库要多大想开个网站怎样开
  • 博山专业网站优化哪家好每日精选12条新闻