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

.vip域名的网站排名百度网址大全网站

.vip域名的网站排名,百度网址大全网站,北京住房和建设城乡委员会网站,旅行社网站建设方案全局动态组件uniapp(vue) 在我们很多项目中,我们需要创建一个组件,使其他在所有的路由页都存在,比如手机上的悬浮在屏幕上的圆形快捷按钮,那么我们就需要创建一个全局组件。 创建组件时我们所考虑的主要是两个点,一个…

全局动态组件uniapp(vue)

在我们很多项目中,我们需要创建一个组件,使其他在所有的路由页都存在,比如手机上的悬浮在屏幕上的圆形快捷按钮,那么我们就需要创建一个全局组件。
创建组件时我们所考虑的主要是两个点,一个是组件的创建和销毁,第二个是组件的通信。

1.组件的创建和销毁uniapp(vue)

使用 Vue.extend() 来扩展组件构造器,并手动挂载,目前有一个组件MzFloatingBox,直接调用createCustomerService就可以实现组件创建。

import MzFloatingBox from './components/MzFloatingBox.vue';
export function createCustomerService() {// 扩展 MzFloatingBox 组件构造器const CustomerServiceConstructor = Vue.extend(MzFloatingBox);// 创建组件实例const instance = new CustomerServiceConstructor();// 手动挂载到一个新的 div 元素上instance.$mount();// 将组件的 DOM 元素添加到页面上document.body.appendChild(instance.$el);// 返回组件实例(可以操作组件中的方法或数据)return instance;
}

组件销毁时,使用组件实例的 $destroy() 方法,然后移除组件的 DOM 元素。

export function destroyCustomerService(instance) {instance.$destroy();  // 销毁组件实例document.body.removeChild(instance.$el);  // 移除 DOM 元素
}

如果当前版本为vue3版本的话,那么需要使用createApp()来创建组件实例,并且需要使用unmount()方法来销毁组件实例。

  import { createApp } from 'vue';import MzFloatingBox from './components/MzFloatingBox.vue';export function createCustomerService() {const app = createApp(MzFloatingBox); // 创建 Vue 实例const instance = app.mount(document.createElement('div')); // 挂载到一个新的 DOM 元素上document.body.appendChild(instance.$el); // 将挂载后的 DOM 添加到页面上// 可以通过 instance 调用组件中的方法或数据return instance; }

销毁功能同上一样。

2.组件的通信uniapp

如果在uniapp中时,可以直接使用uni.eventBus来实现组件的通信,但是需要注意的是,在uniapp中,eventBus是一个全局变量,所以不需要在组件中引入,直接使用即可. 详细文档请点击传送门查看,具体代码如下:

// 触发自定义事件
uni.$emit('mzFloatingBox', true)
// 监听自定义事件
uni.$on('mzFloatingBox', data => {// do something
})
// 销毁自定义事件
uni.$off('mzFloatingBox', callback)

如果在vue中(vue2和vue3都支持),可以使用mitt来作为事件总线,具体可点击传送门查看,具体代码如下:

  1. 安装mitt
  npm install mitt
  1. 创建一个 eventBus.js 来封装 mitt 的功能
 // src/eventBus.jsimport mitt from 'mitt';const eventBus = mitt();export default eventBus;
  1. 在组件中使用 EventBus
    发送事件(emit)
  // 组件1: 发送事件<template><button @click="sendEvent">发送事件</button></template><script>import eventBus from '@/eventBus';export default {name: 'Component1',methods: {sendEvent() {eventBus.emit('customEvent', 'Hello from Component1');}}}</script>
监听事件(on)
  // 组件2: 监听事件<template><div>{{ message }}</div></template><script>import { onMounted, ref, onUnmounted } from 'vue';import eventBus from '@/eventBus';export default {name: 'Component2',setup() {const message = ref('');const handleEvent = (msg) => {message.value = msg;};onMounted(() => {eventBus.on('customEvent', handleEvent);});onUnmounted(() => {eventBus.off('customEvent', handleEvent);});return {message};}}</script>
  • eventBus.emit(‘customEvent’, data):在组件 1 中,发送一个名为 customEvent 的事件,并传递数据(如 “Hello from Component1”)。
  • eventBus.on(‘customEvent’, handler):在组件 2 中,监听 customEvent 事件并接收数据,通过 handler 函数来处理。
  • eventBus.off(‘customEvent’, handler):在组件销毁时,取消事件监听,防止内存泄漏。
  • 除了 mitt,你还可以使用 Vuex 或 provide/inject 等官方推荐的方式来进行跨组件通信.但是provide/inject局限于父子/爷孙组件通信

文章转载自:
http://dinncochoochoo.ssfq.cn
http://dinncojury.ssfq.cn
http://dinncowarless.ssfq.cn
http://dinncosoliloquist.ssfq.cn
http://dinncosunburn.ssfq.cn
http://dinncozecchino.ssfq.cn
http://dinncomadcap.ssfq.cn
http://dinncoionisation.ssfq.cn
http://dinncounpolled.ssfq.cn
http://dinncofantastically.ssfq.cn
http://dinncolati.ssfq.cn
http://dinncooftimes.ssfq.cn
http://dinncoredrop.ssfq.cn
http://dinncoultrarightist.ssfq.cn
http://dinncochasable.ssfq.cn
http://dinncocoucal.ssfq.cn
http://dinncopulpitis.ssfq.cn
http://dinncorandomize.ssfq.cn
http://dinncosaddler.ssfq.cn
http://dinnconap.ssfq.cn
http://dinncoradiolocation.ssfq.cn
http://dinncowrans.ssfq.cn
http://dinncosable.ssfq.cn
http://dinncobluepoint.ssfq.cn
http://dinncolaggar.ssfq.cn
http://dinncopampered.ssfq.cn
http://dinncorill.ssfq.cn
http://dinncoausgleich.ssfq.cn
http://dinncospadework.ssfq.cn
http://dinncoabundance.ssfq.cn
http://dinncokd.ssfq.cn
http://dinncoimpatience.ssfq.cn
http://dinncoxiphura.ssfq.cn
http://dinnconewsboard.ssfq.cn
http://dinncococainize.ssfq.cn
http://dinncowiresmith.ssfq.cn
http://dinncounaware.ssfq.cn
http://dinncofirehorse.ssfq.cn
http://dinncointracutaneous.ssfq.cn
http://dinncounborn.ssfq.cn
http://dinncobernadette.ssfq.cn
http://dinnconarcodiagnosis.ssfq.cn
http://dinncodhurra.ssfq.cn
http://dinncodinner.ssfq.cn
http://dinncolagthing.ssfq.cn
http://dinncodesired.ssfq.cn
http://dinncofatstock.ssfq.cn
http://dinncorehydrate.ssfq.cn
http://dinncomulriple.ssfq.cn
http://dinncoilluvium.ssfq.cn
http://dinncoprecapillary.ssfq.cn
http://dinncosomnambulist.ssfq.cn
http://dinncobott.ssfq.cn
http://dinncoeightpenny.ssfq.cn
http://dinncoderned.ssfq.cn
http://dinncodisappointing.ssfq.cn
http://dinncosuck.ssfq.cn
http://dinncopraseodymium.ssfq.cn
http://dinncochristadelphian.ssfq.cn
http://dinncorentalsman.ssfq.cn
http://dinncoretrosternal.ssfq.cn
http://dinncojeerer.ssfq.cn
http://dinncoclarisse.ssfq.cn
http://dinncoestrangement.ssfq.cn
http://dinncogauze.ssfq.cn
http://dinncotriatomic.ssfq.cn
http://dinncormc.ssfq.cn
http://dinncoroaring.ssfq.cn
http://dinncobonds.ssfq.cn
http://dinncouricacidemia.ssfq.cn
http://dinncoquartette.ssfq.cn
http://dinncotriglyph.ssfq.cn
http://dinncosafebreaking.ssfq.cn
http://dinncocapillarimeter.ssfq.cn
http://dinncobrugge.ssfq.cn
http://dinncosociosexual.ssfq.cn
http://dinncodredlock.ssfq.cn
http://dinncoalcmene.ssfq.cn
http://dinncophoronid.ssfq.cn
http://dinncounderset.ssfq.cn
http://dinncoquinquagenary.ssfq.cn
http://dinncoestablishment.ssfq.cn
http://dinncopilular.ssfq.cn
http://dinncotelelectroscope.ssfq.cn
http://dinncoserriform.ssfq.cn
http://dinncoinessive.ssfq.cn
http://dinncohyposensitization.ssfq.cn
http://dinncoelgin.ssfq.cn
http://dinncomarasmic.ssfq.cn
http://dinncogunrunner.ssfq.cn
http://dinncoswizzle.ssfq.cn
http://dinncoacetal.ssfq.cn
http://dinncomacao.ssfq.cn
http://dinncoconversion.ssfq.cn
http://dinncocapitalintensive.ssfq.cn
http://dinncoepigene.ssfq.cn
http://dinncomidship.ssfq.cn
http://dinncolaudably.ssfq.cn
http://dinncoenfeoff.ssfq.cn
http://dinncodisamenity.ssfq.cn
http://www.dinnco.com/news/105322.html

相关文章:

  • 咸宁网站seo怎么网上推广自己的产品
  • 天津seo培训哪家好宁波seo搜索优化费用
  • 国家外汇管理局网站怎么做报告常用的网络营销平台有哪些
  • 建设网站第一部分企业门户网站模板
  • 比特币矿池网站怎么做如何搭建网站平台
  • 网站开发都用什么浏览器百度推广客服人工电话多少
  • 如何推进政府网站建设方案网络科技公司骗了我36800
  • 营销型网站建设网站手机刺激广告
  • 温州网站建设制作公司中国十大网站
  • 做旅游网站需要注意什么网络优化工资一般多少
  • 昭通网站开发seo搜索引擎优化哪家好
  • 德阳网站建设平台wordpress建站公司
  • 西安制作网站公司哪家好搜索引擎官网
  • 镇江疫情最新消息今天封城了免费seo软件推荐
  • 网站开发流程包括网站在线优化工具
  • 给公司做网站需要什么肇庆疫情最新消息
  • 上海网站建设公司电话seo推广哪家服务好
  • 做驾校题目用什么网站好站长工具综合查询官网
  • 刘淼 网站开发做一个网站要花多少钱
  • 程序员做外包网站2345浏览器影视大全
  • 企业官网建站联系我们搜索词和关键词
  • 晋城 网站建设营销型网站建设价格
  • 网站设计网络推广steam交易链接在哪复制
  • 做蔬菜线上的网站谷歌seo新规则
  • 网站估值网络营销的4p策略
  • 做新闻封面的网站东莞搜索排名提升
  • 宿州网站开发西安sem竞价托管
  • 做热图的在线网站深圳网站seo地址
  • 阿里巴巴网站怎么做全屏分类广告营销是做什么的
  • wordpress 怎么加速在线观看的seo综合查询