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

外贸网站如何建站淘宝seo什么意思

外贸网站如何建站,淘宝seo什么意思,关键词seo自然排名优化,湖南省网站建设1. 借助父组件传参 A 组件派发一个事件&#xff0c;修改 flag 的值&#xff0c;先传递给父组件&#xff0c;然后由父组件传递给 B 组件。 缺点&#xff1a;必须由 App.vue 处理中间逻辑。 A.vue <template><div class"A"><h1>A组件</h1>…

1. 借助父组件传参

A 组件派发一个事件,修改 flag 的值,先传递给父组件,然后由父组件传递给 B 组件。

缺点:必须由 App.vue 处理中间逻辑。

A.vue

<template><div class="A"><h1>A组件</h1><button @click="emitB">派发一个事件</button></div>
</template><script setup lang="ts">
const emit = defineEmits(['on-click'])
let flag = false
const emitB = () => {flag = !flagemit('on-click', flag)
}
</script><style scoped>
.A {width: 200px;height: 200px;color: #fff;background: blue;
}
</style>

App.vue

<template><div><A @on-click="getFlag"></A><B :flag="Flag"></B></div>
</template><script setup lang="ts">
import A from './components/A.vue';
import B from './components/B.vue';
import { ref } from 'vue'
let Flag = ref<boolean>(false)
const getFlag = (flag:boolean) => {Flag.value = flag
}
</script><style scoped></style>

B.vue

<template><div class="B"><h1>B组件</h1>{{ flag }}</div>
</template><script setup lang="ts">
type Props = {flag: boolean
}
defineProps<Props>()</script><style lang="scss" scoped>
.B{width: 200px;height: 200px;color: #fff;background: red;
}
</style>

在这里插入图片描述

2. Event Bus

Event Bus(事件总线)是一种在Vue中实现组件间通信的模式。它使用了Vue实例作为中央的事件中心,允许任何组件注册监听器并触发事件。通过事件总线,兄弟组件之间可以进行解耦合的通信。

原理是利用了 JavaScript 设计模式的发布-订阅(Publish-Subscribe Pattern),然后由事件调度中心(Event Loop)进行处理。

// Bus.tstype BusClass = {emit: (name: string) => voidon: (name: string, callback: Function) => void
}type PramsKey = string | number | symboltype List = {[key: PramsKey]: Array<Function>
}class Bus implements BusClass {list: Listconstructor() {this.list = {}}emit(name: string, ...args:Array<any>): void {let eventName: Array<Function> = this.list[name]eventName.forEach(fn =>{fn.apply(this, args)})}on(name: string, callback: Function): void {let fn:Array<Function> = this.list[name] || []fn.push(callback)this.list[name] = fn}
}
export default new Bus()
<!-- A.vue -->
<template><div><h1>A组件</h1><button @click="emitB">派发一个事件</button><hr></div>
</template><script setup lang="ts">
import Bus from '../Bus'
let flag = false
const emitB = () =>{flag = !flagBus.emit('on-click', flag)
}
</script><style scoped></style>
<!-- B.vue -->
<template><div><h1>B组件</h1>{{ Flag }}</div>
</template><script setup lang="ts">
import Bus from '../Bus'
import { ref } from 'vue'
let Flag = ref(false)
Bus.on('on-click', (flag:boolean)=> {Flag.value = flag
})</script><style scoped></style>
<!-- App.vue -->
<template><div><A></A><B></B></div>
</template><script setup lang="ts">
import A from './components/A.vue'
import B from './components/B.vue'</script><style scoped></style>

在这里插入图片描述

http://www.mmbaike.com/news/38756.html

相关文章:

  • 网站加入联盟宁波seo推广方式排名
  • 怎么改网站的上传限制公司主页网站设计
  • 做的网站速度慢百度网页版浏览器
  • 自学网站的建设网络营销机构官方网站
  • lnmp和wordpressseo简单优化
  • 百度站长网站地图网站排名英文
  • 做网站一般注意些什么软文公司代写
  • 网站一次性链接怎么做成品网站货源1
  • dede网站转移seo快速优化技术
  • 漯河北京网站建设链接买卖平台
  • 做网站需要公司备案seo快速排名软件
  • 深圳网站建设优化seo外链专员工作要求
  • 泉州网站制作报价广西壮族自治区
  • 做自媒体需要关注什么网站百度推广销售员好做吗
  • 怎么做视频网站首页郑州手机网站建设
  • 泰安市最新招聘信息win10优化
  • 万州微网站建设公司网页设计
  • 如何用ps做网站图标教育机构网站
  • 那种退不掉的网站怎么做的关键词全网指数查询
  • 茶叶电子商务网站开发技术支持新冠病毒最新消息
  • 动态网站开发教材2345网址导航官方网站
  • 做视频网站违法吗给我免费播放片高清在线观看
  • 新疆生产建设兵团社保局网站查询百度关键词排名
  • dede5.7网站搬家网络广告营销
  • 设计方案表网站名称如何免费制作自己的网站
  • 做网站需要哪种工程师网络营销的基本功能
  • 免费做图片的网站有哪些千锋教育靠谱吗
  • 网站转让出售seo关键词排名报价
  • 做企业网站的头部什么配色网页设计模板网站免费
  • 新媒体 数字营销 网站建设真人seo点击平台