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

专业长春网站建设工作室中文域名注册 .网站

专业长春网站建设工作室,中文域名注册 .网站,重庆app制作开发商,周杰伦做的广告网站介绍 本示例使用[Emitter]实现事件的订阅和发布#xff0c;使用[自定义弹窗]设置广告信息。 效果预览 使用说明 进入首页后弹出广告弹窗#xff0c;点击即可关闭。点击商品列表中的一个商品可以跳转到商品详情页。在商品详情页点击首页可以返回到商品列表页#xff0c;点…介绍 本示例使用[Emitter]实现事件的订阅和发布使用[自定义弹窗]设置广告信息。 效果预览 使用说明 进入首页后弹出广告弹窗点击即可关闭。点击商品列表中的一个商品可以跳转到商品详情页。在商品详情页点击首页可以返回到商品列表页点击购物车可以跳转到购物车页面点击加入购物车可以在购物车页面添加一条商品信息点击立即购买可以增加一次已购物数量显示在购物车页面。在购物车页面点击购物车列表内商品的减号图标可以将此商品信息从购物车列表内删除点击清空购买数量可以将已购物数量清空、显示为0。鸿蒙开发文档参考qr23.cn/AKFP8k点击或者复制前往。 代码解析 HarmonyOSOpenHarmony文档紫料添加v mau123789直接拿取entry/src/main/ets/ |---components | |---BottomNavigation.ets // 底部按钮导航栏 | |---Choice.ets // 商品规格选择 | |---EventsDialog.ets // 广告弹窗 | |---Information.ets // 详细信息页面 | |---Valueation.ets // 价格页面 |---mock | |---DetailData.ets // 商品详情数据 | |---ProductsData.ets // 产品列表数据 |---model | |---DetailMode.ets // 商品详情数据结构 | |---GoodsModel.ets // 商品数据结构 |---pages | |---Detail.ets // 商品详情 | |---Index.ets // 首页 | |---ShopCart.ets // 购物车 |---shoppingCart | |---Cart.ets // 购物车 | |---FavorGoodlist.ets // 推荐列表 |---util | |---Logger.ets // 日志工具 feature/emitter/src/main/ets/ |---common | |---EmitterConst.ts // 事件通知常量 |---components | |---feature | | |---CustomEmitter.ets // 封装事件通知类具体实现 订阅事件通知在CustomEmitter中实现源码参考[CustomEmitter.ets] /** Copyright (c) 2022 Huawei Device Co., Ltd.* Licensed under the Apache License, Version 2.0 (the License);* you may not use this file except in compliance with the License.* You may obtain a copy of the License at** http://www.apache.org/licenses/LICENSE-2.0** Unless required by applicable law or agreed to in writing, software* distributed under the License is distributed on an AS IS BASIS,* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.* See the License for the specific language governing permissions and* limitations under the License.*/import emitter from ohos.events.emitter;import { EmitterConst } from ../../common/EmitterConst;import Base from ohos.base;class GoodsListInner {id: number 0}class GoodsList {data: GoodsListInner {id: 0}}export class CustomEmitter {shoppingCartGoodsList: GoodsList[] [];// 单次订阅回调public showEventsDialog(callback: Base.Callbackemitter.EventData) {let dialogShowEventsId: emitter.InnerEvent {eventId: EmitterConst.DIALOG_EVENT_ID};let dialogShowEventsData: emitter.EventData {data: {id: EmitterConst.DIALOG_EVENT_ID,}};// 单次订阅事件--广告emitter.once(dialogShowEventsId, callback);// 事件发布emitter.emit(dialogShowEventsId, dialogShowEventsData);}// 单次订阅回调(eventId为string类型)public closeEventsDialog(callback: Base.Callbackemitter.EventData) {let dialogCloseEventsData: emitter.EventData {data: {id: EmitterConst.CLOSE_DIALOG_EVENT_ID}};// 单次订阅事件--关闭广告emitter.once(EmitterConst.CLOSE_DIALOG_EVENT_ID, callback);// 事件发布emitter.emit(EmitterConst.CLOSE_DIALOG_EVENT_ID, dialogCloseEventsData);}// 持久化订阅的事件回调public setShoppingCartGoodsList(callback: (eventData: emitter.EventData) void) {let addGoodDataId: emitter.InnerEvent {eventId: EmitterConst.ADD_EVENT_ID};// 以持久化方式订阅购物车添加事件并接收事件回调emitter.off(EmitterConst.ADD_EVENT_ID);emitter.on(addGoodDataId, (eventData: emitter.EventData) {callback(eventData);});}// 持久化订阅的事件回调(eventId为string类型)public deleteShoppingCartGoodsList(callback: (eventData: emitter.EventData) void) {// 以持久化方式订阅购物车删除事件并接收事件回调emitter.off(EmitterConst.DELETE_EVENT_ID);emitter.on(EmitterConst.DELETE_EVENT_ID, (eventData: emitter.EventData) {callback(eventData);});}public addGoods(goodId: number) {let addToShoppingCartId: emitter.InnerEvent {eventId: EmitterConst.ADD_EVENT_ID};let shoppingCartData: emitter.EventData {data: {id: goodId}};// 持续订阅发布事件emitter.emit(addToShoppingCartId, shoppingCartData);}public deleteGoods(listItemId: number) {console.info(setShoppingCartGoodsList goodId JSON.stringify(listItemId))let shoppingCartData: emitter.EventData {data: {id: listItemId,}};// 持续订阅发布事件emitter.emit(EmitterConst.DELETE_EVENT_ID, shoppingCartData);}// 以持久化方式订阅购物车购买事件public listenerEvents() {emitter.on(EmitterConst.BUY_EVENT_ID, (eventData: emitter.EventData) {});}// 获取购买事件订阅者数量并将结果返回public getListenerCounts(callback: (counts: number) void) {callback(emitter.getListenerCount(EmitterConst.BUY_EVENT_ID));}// 取消订阅购买事件后将购买事件订阅者数量结果返回public clearListenerCounts(callback: (counts: number) void) {emitter.off(EmitterConst.BUY_EVENT_ID);callback(emitter.getListenerCount(EmitterConst.BUY_EVENT_ID));}}广告弹窗使用Emitter的事件单次订阅emitter.once(eventId,call)eventId为number类型单次订阅CustomDialogController弹窗事件弹窗触发后自动取消订阅。关闭广告弹窗使用Emitter的事件单次订阅emitter.once(eventId,call)eventId为string类型单次订阅CustomDialogController弹窗事件弹窗关闭后自动取消订阅。购物车添加商品使用Emitter.on持续订阅商品添加事件eventId为number类型添加商品时更新购物车商品列表。购物车删除商品使用Emitter.on持续订阅商品删除事件eventId为string类型删除商品时更新购物车商品列表。购物数量使用Emitter.getListenerCount获取购买事件订阅者数量进入购物车页面显示数量结果清空时取消订阅结果为0。
http://www.zqtcl.cn/news/346791/

相关文章:

  • 微信网站怎么做下载附件wordpress英文主题汉化
  • 桂平网站设计python基础教程第二版
  • wordpress hermit杭州企业seo网站优化
  • 贵州做团队培训的网站法学网站阵地建设
  • 网站死链是什么西宁高端网站开发公司
  • 做团购网站的公司wordpress附件存放位置
  • 成都最专业做网站的仿win8网站模板
  • 国外设计类网站男女做暖暖试看网站
  • 网站设计哪个好珠海微网站进入
  • 云主机开网站教程模板网会员
  • 网站建设无锡虚拟网站官网
  • 品牌网站设计联系东莞网站优化公
  • 自己做整个网站的流程php装修网站源码
  • 天津网站建设班模拟网站建设软件有哪些
  • 服务类的网站怎么做做软件的网站担保网站
  • 最新电子产品网站模板海口网站排名提升
  • 北京社保网站减员怎么做phpcms v9 实现网站搜索
  • 视频运营管理网站济南网站建设 济南货梯
  • html电影网站模板下载工具阿里云网站建设 部署与发布笔记
  • 建设跨境网站微信seo是什么意思
  • 我做彩票网站开发彩票网站搭建织梦如何仿手机网站源码下载
  • 东仓建设网站手机便宜的网站建设
  • 吕梁市住房与城乡建设厅网站wordpress 乐趣公园
  • 沈阳正规制作网站公司吗德成建设集团有限公司网站
  • 做网站标准步骤大学两学一做专题网站
  • 如何在手机上做网站Windows怎么建设网站
  • 专门做稀有产品的网站海口网站制作设计
  • 怎么查看自己的网站是否被百度收录网站的设计制作流程
  • 视觉设计网站芜湖做网站找哪家好
  • flash网站源码带asp后台电子商务有限公司网站