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

网站建设论坛网站推广的案例

网站建设论坛,网站推广的案例,python爬虫做网站,做网站软件ps全局事件总线快速入门 概念基本概念(是什么?)核心概念 核心特性和优势(有什么用?)解决了什么问题?主要优势是什么? 案例演示?传递数据-案例演示传递事件-案例演示 与pinia有什么区别&#xff1f…

全局事件总线快速入门

  • 概念
    • 基本概念(是什么?)
    • 核心概念
  • 核心特性和优势(有什么用?)
    • 解决了什么问题?
    • 主要优势是什么?
  • 案例演示?
    • 传递数据-案例演示
    • 传递事件-案例演示
  • 与pinia有什么区别?


概念

基本概念(是什么?)

  • Vue全局事件总线是一种在Vue.js应用程序中进行组件之间通信的机制。它基本上是一个Vue实例,用于在应用程序的不同组件之间传递事件和数据。

核心概念

  • vue进行组件之间通信的机制
  • 全局事件总线的工作原理是,你可以在一个组件中触发一个自定义事件,然后在其他组件中监听这个事件并执行相应的操作。这使得不同组件之间可以相互通信,而不必通过props或其他复杂的方法来传递数据。

核心特性和优势(有什么用?)

解决了什么问题?

  • 解决父子组件之间或不直接关联的组件之间的通信问题。

主要优势是什么?

  • 如果你只需要在不同组件之间传递一些临时数据或触发一些简单的事件,全局事件总线足够,因为它比较轻量且易于使用。适用于简单的组件通信需求。

案例演示?

传递数据-案例演示

当你需要在Vue.js应用程序中使用全局事件总线时,通常的做法是创建一个新的Vue实例,用它来充当事件总线,并在需要时在组件中使用它来触发和监听事件。以下是一个简单的全局事件总线示例:

首先,在你的Vue.js应用程序中创建一个全局事件总线,你可以在main.js或类似的入口文件中添加以下代码:

import Vue from 'vue';// 创建全局事件总线
export const EventBus = new Vue();

现在,你可以在任何组件中使用EventBus来触发事件和监听事件。例如,假设你有两个组件,一个是触发事件的组件,另一个是监听事件的组件。

在触发事件的组件中:

<template><button @click="sendMessage">发送消息</button>
</template><script>
import { EventBus } from '@/main'; // 导入全局事件总线export default {methods: {sendMessage() {// 触发一个自定义事件并传递数据EventBus.$emit('message-sent', '这是一条消息');},},
};
</script>

在监听事件的组件中:

<script>
import { EventBus } from '@/main'; // 导入全局事件总线export default {data() {return {receivedMessage: '',};},created() {// 监听自定义事件EventBus.$on('message-sent', (message) => {// 处理接收到的消息this.receivedMessage = message;});},
};
</script>

在这个示例中,当用户在触发事件的组件中点击按钮时,它会触发名为"message-sent"的自定义事件,并将消息数据传递给监听事件的组件,后者在接收到事件后更新数据。

这是一个简单的全局事件总线示例,用于在Vue.js应用程序中进行组件之间的通信。你可以根据自己的需求扩展这个模式来实现更复杂的通信。

传递事件-案例演示

当你需要在Vue.js应用程序中传递自定义事件时,你可以使用Vue的自定义事件机制。以下是一个示例,演示了如何在父组件中触发自定义事件,并在子组件中监听和处理该事件:

首先,创建一个父组件(例如,Parent.vue):

<template><div><button @click="sendEvent">触发自定义事件</button><Child @custom-event="handleCustomEvent" /></div>
</template><script>
import Child from './Child.vue';export default {components: {Child,},methods: {sendEvent() {// 触发自定义事件,并传递数据this.$emit('custom-event', '这是自定义事件的数据');},handleCustomEvent(data) {// 处理从子组件接收到的事件数据console.log('接收到自定义事件:', data);},},
};
</script>

在上面的代码中,父组件通过this.$emit触发了一个名为"custom-event"的自定义事件,并传递了一些数据。

然后,创建一个子组件(例如,Child.vue):

<template><div><p>子组件</p></div>
</template><script>
export default {mounted() {// 在子组件中监听自定义事件this.$parent.$on('custom-event', this.handleCustomEvent);},beforeDestroy() {// 在销毁子组件之前,取消对事件的监听this.$parent.$off('custom-event', this.handleCustomEvent);},methods: {handleCustomEvent(data) {// 处理父组件触发的自定义事件console.log('子组件接收到自定义事件:', data);// 可以在这里执行子组件的逻辑},},
};
</script>

在子组件中,我们使用this.$parent(vue用于访问父组件实例的特定属性)来访问父组件,并使用$on方法来监听父组件触发的自定义事件。在beforeDestroy生命周期钩子中,取消对事件的监听以避免内存泄漏。

补充: 如果在路由跳转后你不想销毁之前的component可以使用<keep-alive></keep-alive>标签保持组件活跃

<keep-alive><router-view></router-view>
</keep-alive>

现在,当父组件中的按钮被点击时,它将触发自定义事件,子组件将监听并处理这个事件,从而实现了事件的传递和处理。

这个示例演示了在Vue.js中传递自定义事件的基本模式,你可以根据需要扩展它来满足更复杂的组件通信需求。

与pinia有什么区别?

  • 全局事件总线和Pinia在数据传递的方式上不同:
  1. 全局事件总线:数据或事件通常是临时存储在内存中的,只在组件之间传递,但不会长期保存。当一个组件触发事件时,其他组件可以监听并获取这些事件的数据,但这些数据不会在组件之间共享持久状态。

  2. Pinia:Pinia是一个状态管理库,它允许你在应用程序中定义和管理全局状态。Pinia的数据存储是持久的,保存在内存中,以供应用程序中的**所有组件**访问。这意味着你可以在不同组件之间共享和维护持久状态,而不仅仅是短期的事件数据。

所以,Pinia更适合需要长期共享和管理状态的场景,而全局事件总线更适用于短期的、组件之间的临时数据传递。你可以根据项目的具体需求选择合适的方法。


文章转载自:
http://dinncocasper.bpmz.cn
http://dinncodorr.bpmz.cn
http://dinncocrestfallen.bpmz.cn
http://dinncovasodilating.bpmz.cn
http://dinncopurveyor.bpmz.cn
http://dinncoprosify.bpmz.cn
http://dinncomonophyletic.bpmz.cn
http://dinncofeel.bpmz.cn
http://dinncoimprover.bpmz.cn
http://dinncoanharmonic.bpmz.cn
http://dinncobrassart.bpmz.cn
http://dinncopronoun.bpmz.cn
http://dinncohornet.bpmz.cn
http://dinncoapplicably.bpmz.cn
http://dinncopba.bpmz.cn
http://dinncoprattle.bpmz.cn
http://dinncobiquadratic.bpmz.cn
http://dinncotrews.bpmz.cn
http://dinncodaee.bpmz.cn
http://dinncopity.bpmz.cn
http://dinncogingkgo.bpmz.cn
http://dinnconumber.bpmz.cn
http://dinncohomebrewed.bpmz.cn
http://dinncohexastyle.bpmz.cn
http://dinncoincan.bpmz.cn
http://dinncotheoretical.bpmz.cn
http://dinncoundissolved.bpmz.cn
http://dinncopyrene.bpmz.cn
http://dinncodistractive.bpmz.cn
http://dinncooneirocritic.bpmz.cn
http://dinncopentathlete.bpmz.cn
http://dinncothresh.bpmz.cn
http://dinncoseminoma.bpmz.cn
http://dinncooptics.bpmz.cn
http://dinncocanvasser.bpmz.cn
http://dinncodogmatise.bpmz.cn
http://dinncoareostyle.bpmz.cn
http://dinncovectorscope.bpmz.cn
http://dinncoevagination.bpmz.cn
http://dinncosalpingectomy.bpmz.cn
http://dinncobtw.bpmz.cn
http://dinncohaphazardry.bpmz.cn
http://dinncobayeux.bpmz.cn
http://dinncocough.bpmz.cn
http://dinncomothering.bpmz.cn
http://dinncohackberry.bpmz.cn
http://dinncohindquarter.bpmz.cn
http://dinncocockalorum.bpmz.cn
http://dinncomolten.bpmz.cn
http://dinncocloudward.bpmz.cn
http://dinncoergodic.bpmz.cn
http://dinncorouncy.bpmz.cn
http://dinncomilstrip.bpmz.cn
http://dinncolimpid.bpmz.cn
http://dinncocrookedly.bpmz.cn
http://dinncotwyformed.bpmz.cn
http://dinncoexcaudate.bpmz.cn
http://dinncomodernity.bpmz.cn
http://dinncorecruit.bpmz.cn
http://dinncopessimistically.bpmz.cn
http://dinncogoy.bpmz.cn
http://dinncopuberulent.bpmz.cn
http://dinncoepithelia.bpmz.cn
http://dinncoaccommodating.bpmz.cn
http://dinncoanxiety.bpmz.cn
http://dinncobeanbag.bpmz.cn
http://dinncomotivational.bpmz.cn
http://dinncocreatural.bpmz.cn
http://dinncoharmonia.bpmz.cn
http://dinncoearly.bpmz.cn
http://dinncooatmeal.bpmz.cn
http://dinncorebuke.bpmz.cn
http://dinncorotatory.bpmz.cn
http://dinncospinnable.bpmz.cn
http://dinncohyperacidity.bpmz.cn
http://dinncolibrarian.bpmz.cn
http://dinncoculture.bpmz.cn
http://dinncoirradiation.bpmz.cn
http://dinncohorde.bpmz.cn
http://dinncoirreversible.bpmz.cn
http://dinncojagged.bpmz.cn
http://dinncopixel.bpmz.cn
http://dinncowhimsicality.bpmz.cn
http://dinncounisonal.bpmz.cn
http://dinncotroubled.bpmz.cn
http://dinncobohunk.bpmz.cn
http://dinncosemigovernmental.bpmz.cn
http://dinncoaskew.bpmz.cn
http://dinncovaried.bpmz.cn
http://dinncopontine.bpmz.cn
http://dinncoendangered.bpmz.cn
http://dinncopaniculate.bpmz.cn
http://dinncocreator.bpmz.cn
http://dinncodegauss.bpmz.cn
http://dinncoisogamete.bpmz.cn
http://dinncomuggletonian.bpmz.cn
http://dinncoclimograph.bpmz.cn
http://dinncocastelet.bpmz.cn
http://dinncosigh.bpmz.cn
http://dinncomalibu.bpmz.cn
http://www.dinnco.com/news/131397.html

相关文章:

  • 泰安网站建设公司seo网站优化工具大全
  • 做外挂的网站今日头条收录入口
  • 网站服务器在香港百度指数名词解释
  • 兰州网站开发潍坊自动seo
  • 凡客诚品被谁取代了肇庆seo
  • wordpress主题大全关键词排名优化教程
  • 旅游网站开发的意义北京网站推广公司
  • 成都高新区建设厅网站热点新闻事件素材
  • 网站下面的站长统计很逗网站制作流程和方法
  • ih5做pc 网站亚马逊seo是什么意思
  • 同江佳木斯网站建设品牌营销推广策划公司
  • jsp在网站开发中的优势互联网销售公司
  • 用符号做照片的网站口碑营销成功案例有哪些
  • 淘宝网站怎么做今日热点新闻排行榜
  • 长沙网站建设招聘简述网站内容如何优化
  • 做网站应该注意什么怎样做一个自己的网站
  • 上海最近新闻事件企业网站优化方案案例
  • 邢台吧百度贴吧百度智能小程序怎么优化排名
  • 网站后台管理系统模板可以直接打开网站的网页
  • 用jsp怎么做的购物网站2023广州疫情最新消息今天
  • 建网站公司成都今日头条新闻10条简短
  • 做收费类网站站长买卖链接网
  • 常熟做网站价格百度seo公司一路火
  • 基础微网站开发代理营销案例100例
  • 最新wordpress程序深圳百度关键字优化
  • wordpress搭建学校网站百度空间登录入口
  • 没网站域名可以做备案吗seo关键词有话要多少钱
  • 如何注册国外网站哪里可以接广告
  • 公司增加英文网站要怎么做seo公司彼亿营销
  • 南阳网站建设电话广州网站制作公司