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

保定网站建设报价一个人做网站

保定网站建设报价,一个人做网站,濮阳百度推广,.net 网站开发 教程Vue3中的常见组件通信之mitt 概述 ​ 在vue3中常见的组件通信有props、mitt、v-model、 r e f s 、 refs、 refs、parent、provide、inject、pinia、slot等。不同的组件关系用不同的传递方式。常见的撘配形式如下表所示。 组件关系传递方式父传子1. props2. v-model3. $refs…Vue3中的常见组件通信之mitt 概述 ​ 在vue3中常见的组件通信有props、mitt、v-model、 r e f s 、 refs、 refs、parent、provide、inject、pinia、slot等。不同的组件关系用不同的传递方式。常见的撘配形式如下表所示。 组件关系传递方式父传子1. props2. v-model3. $refs4. 默认插槽、具名插槽子传父1. props2. 自定义事件3. v-model4. $parent5. 作用域插槽祖传孙、孙传祖1. $attrs2. provide、inject兄弟间、任意组件间1. mitt2. pinia ​ props和自定义事件详见本人另一篇文章 Vue3中的常见组件通信之props和自定义事件 下面接着上文来继续记录mitt的用法。 3.mitt mitt与pubsub订阅消息与发布消息功能类似它可以实现在任意组件间的通信。 3.1安装mitt及引入mitt mitt需要安装在终端中输入命令npm i mitt来安装。 mitt安装好之后按照工程化的管理需要在src的文件下新建文件夹utils然后在utils文件夹中新建文件emitter.ts。 在emitter.ts文件中引入mitt并创建emitter同时暴露emitter如下代码 //引入mitt import mitt from mitt//调用mitt得到emitter,emitter可以绑定事件和触发事件 const emitter mitt()//暴露emitter export default emitter之后需要再在main.ts中引入emitter如下代码 import emitter from /utils/emitter3.2 emitter基本用法 emitter身上有四个方法分别是 **on()*用来绑定事件接收两个参数第一个参数是事件名第二个参数是事件触发时的回调函数**emit()*用来触发事件参数为事件名**off()*用来解绑事件参数为事件名**all**all有clear属性直接调用clear()属性可以解绑全部事件。 以下代码为展示emitter的基本用法 //绑定事件test1,当事件触发时执行回调 emitter.on(test1,(){console.log(test1被调用了) })//绑定事件test2,当事件触发时执行回调 emitter.on(test2,(){console.log(test2被调用了) })//绑定事件test3,当事件触发时执行回调 emitter.on(test3,(){console.log(test3被调用了) })//触发事件每间隔1秒触发一次 setInterval((){//触发事件test1emitter.emit(test1)//触发事件test2emitter.emit(test2)//触发事件test3emitter.emit(test3) },1000)//解绑事件2秒后解绑test1 setTimeout((){emitter.off(test1)console.log(--------test1解绑了) },2000)//解绑事件4秒后解绑所有事件 setTimeout((){emitter.all.clear()console.log(--------所有的事件解绑了) },4000)运行后在控制台输出如下内容 3.3emitter在组件中的用法 首先创建一个父组件两个子组件父组件代码如下 templatediv classfatherh3父组件/h3Child1/Child2//div /templatescript setup langts nameFatherimport Child1 from ./Child1.vueimport Child2 from ./Child2.vue /scriptstyle scoped.father{margin: 5px;background-color:rgb(79, 186, 111);padding: 20px;color: white;} /style子组件1代码 templatediv classchild1h3子组件1/h3/div /templatescript setup langts nameChild1/scriptstyle scoped.child1{margin: 5px;background-color: rgba(7, 7, 7, 0.224);border: 1px solid;border-color: white;box-shadow: 0 0 5px;padding: 10px;color: #760e0e;} /style子组件2代码 templatediv classchild2h3子组件2/h3/div /templatescript setup langts nameChild2/scriptstyle scoped.child2{margin: 5px;background-color: rgba(255, 255, 255, 0.224);border: 1px solid;border-color: white;box-shadow: 0 0 5px;padding: 10px;color: #05035f;} /style运行效果如下 然后我们在子组件1中准备一些数据如下 //数据 let book reactive({name:西游记,author:吴承恩,price:119.95 })然后在页面中展示 !-- 展示 -- h4图书名称{{ book.name }}/h4 h4图书作者{{ book.author }}/h4 h4图书价格{{ book.price }}/h4运行效果如下 接下来在子组件2中引入emitter然后创建book数据给emitter绑定事件并传入回调函数 //引入emitterimport emitter from /utils/emitter;import { reactive } from vue;//数据let book reactive({name:,author:,price:null})//给emitter绑定getBook事件传入回调函数回调函数接收一个参数emitter.on(getBook,(value:any){// console.log(value)book.name value.namebook.author value.authorbook.price value.price})然后在子组件1中创建一个按钮绑定click事件触发getBook事件并传递book参数 button clickemitter.emit(getBook,book)将book信息发送给子组件2/button最后在子组件2中展示接收的到的信息 !-- 展示 --h4图书名称{{ book.name }}/h4h4图书作者{{ book.author }}/h4h4图书价格{{ book.price }}/h4最后运行后页面效果如下 点击按钮后效果如下 至此已经完成了子组件1向子组件2通信。 子组件1完整代码如下 templatediv classchild1h3子组件1/h3!-- 展示 --h4图书名称{{ book.name }}/h4h4图书作者{{ book.author }}/h4h4图书价格{{ book.price }}/h4button clickemitter.emit(getBook,book)将book信息发送给子组件2/button/div /templatescript setup langts nameChild1import emitter from /utils/emitter;import { reactive } from vue;//数据let book reactive({name:西游记,author:吴承恩,price:119.95}) /scriptstyle scoped.child1{margin: 5px;background-color: rgba(7, 7, 7, 0.224);border: 1px solid;border-color: white;box-shadow: 0 0 5px;padding: 10px;color: #760e0e;} /style子组件2 的完整代码如下 templatediv classchild2h3子组件2/h3!-- 展示 --h4图书名称{{ book.name }}/h4h4图书作者{{ book.author }}/h4h4图书价格{{ book.price }}/h4/div /templatescript setup langts nameChild2//引入emitterimport emitter from /utils/emitter;import { reactive } from vue;//数据let book reactive({name:,author:,price:null})//给emitter绑定getBook事件传入回调函数回调函数接收一个参数emitter.on(getBook,(value:any){// console.log(value)book.name value.namebook.author value.authorbook.price value.price}) /scriptstyle scoped.child2{margin: 5px;background-color: rgba(255, 255, 255, 0.224);border: 1px solid;border-color: white;box-shadow: 0 0 5px;padding: 10px;color: #05035f;} /style3.4 小结 接收数据的组件必须要先绑定事件订阅发送数据的组件要触发事件只要组件中引入了emitter并执行了emitter.emit()代码并传递参数即可实现任意组件间的通信。
http://www.w-s-a.com/news/314219/

相关文章:

  • 网站建设的频道是什么网站用什么开发软件做
  • 电子商务网站建设与规划总结外链查询网站
  • 西安网站品牌建设做网站需要的东西
  • 网站外围网站怎么做移动端网站开发项目
  • 做网站只做前端可以用吗知更鸟免费 wordpress
  • html5 微信网站主流开发技术标准网站搭建费用
  • 加强统计局网站的建设和管理广州微信网站建设价格
  • 华宁网站建设设计公司 网站
  • 简历网站免费怎么查在哪个网站做的备案
  • 响应式网站 价格网站用哪些系统做的比较好用
  • 高端网站案例360做的网站
  • 瑞安地区建设网站公众号开发者工具是干嘛的
  • 请解释网站开发的主要流程.wordpress主体上传
  • 网站方案组成要素饰品公司网站建设方案
  • 网站改版被降权赣州景文网络科技有限公司
  • 吉林省网站建设推广图片模版
  • 如何做网站热力图佛山 网站关键词优化
  • 个人网站建设论文中期报告申报网站建设理由 模板
  • 岫岩做网站软件开发和app开发的区别
  • 邯郸质量一站式服务平台上线如何做国外销售网站
  • 内蒙古工程建设协会网站sem优化策略
  • Linux网站建设总结建设电子商务平台
  • 公司网站背景图片课程网站如何建设
  • 用js做简单的网站页面互联网技术对人力资源管理的影响有哪些
  • 银川做网站贵德县wap网站建设公司
  • 深圳网站建设zvge山西省煤炭基本建设局网站
  • 佛山网页网站设计线上怎么做推广和宣传
  • 多个域名绑定同一个网站案例
  • 建设网站都需要准备什么代理加盟微信网站建设
  • 网站备案没有了wordpress 添加按钮