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

厦门市建设工程交易中心网站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.ds6.com.cn/news/14800.html

相关文章:

  • 龙华做网站联系电话2023网站seo
  • 深圳高端网站建设创新宣传推广网络推广
  • 网站建设实验分析总结网络优化师是什么工作
  • 上海公司网站公安备案查询网址关键词查询
  • 网站设计超链接怎么做网店如何做推广
  • 贵州网站建设维护今天nba新闻最新消息
  • 网站怎么修改好之后再上线企业品牌类网站有哪些
  • 深圳做网站推广公司如何提高自己的营销能力
  • 如何快速提高网站排名网站建设步骤
  • 张家界网站建设多少钱安徽网站seo
  • 网站建设与开发友情链接交换
  • 网站和小程序的区别有域名和服务器怎么建网站
  • js 网站开发网络营销的成功案例分析
  • 做类似58同城的网站网络销售怎么聊客户
  • 广州市城乡和建设局网站网络推广员一个月多少钱
  • 建网站公司百度推广退款电话
  • 设计做的网站哪些好中文域名交易平台
  • 怎样做一个网络营销seo教程
  • 直播间网站开发目前推广软件
  • 手机app ui设计seo 关键词优化
  • 做视频网站的条件soso搜搜
  • 南通网站建设找哪家好推广策略都有哪些
  • 做外包哪个网站好一些百度快照官网登录
  • 西安网站制作培训成都网站快速开发
  • dede网站下载网络营销应用方式
  • 如何做网站维护谷歌seo排名技巧
  • 常见的旅游网络营销方式衡阳百度seo
  • 正规手表回收网站2345网址导航官网下载
  • 做网站优化的公司的宣传海报百度网页版登录入口
  • 为解析的域名做网站网站查找工具