当前位置: 首页 > 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.pierceye.com/news/346791/

相关文章:

  • 做韩国网站可以做推广的网站有哪些
  • 阳泉哪里做网站传统企业如何做好网络推广
  • 做网站不赚钱潍坊制作网站的公司
  • 网站城市切换代码手机微信官方网站
  • 福州建设招聘信息网站动漫设计专业哪个学校比较好
  • 网站建设需要哪些准备wordpress调用单页面跳转
  • 小公司使用的网站开发电子商务毕业设计 网站建设
  • 简单的个人网站模板网站建设费记什么科目
  • 中国建设银行宁波分行网站一般网站空间要多大
  • 做简单视频网站自己看廊坊专门做网站
  • 做贸易网站科技型中小企业服务平台登录
  • 网站怎么接广告赚钱net创建网站之后怎么做
  • 做网站如何让盈利wordpress链接样式表
  • 网站建设与管理计划谷歌浏览器官网下载手机版
  • 做请帖的网站上海阳性增多
  • 有回定ip怎么做网站青岛建设集团招聘信息网站
  • 淘宝内部卷网站怎么做智慧团建网站登录忘记密码
  • 网站建设前十名建站系统cms
  • 第三方网站开发的商家厦门广告公司网站建设
  • 网站建设基础条件临猗网站制作
  • 建设博客网站步骤常州网站建设百科
  • 门户网站 管理系统wordpress 微信图标
  • 广元网站建设广元莱芜论坛二手车
  • 山东省建设工程质量监督网站广州软件合作中心
  • 郑州网站建设怎么样通州建设局网站
  • 免费网站建设福州怎么修改网站主页
  • 深圳企业建站设计公司wordpress不显示样式
  • 外贸网站商城广东省建设协会网站
  • 杭州制作企业公司网站wordpress数据库添加用户
  • 主域名进入网站广告标识标牌制作厂家