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

seo网站架构在什么网站可以做推广

seo网站架构,在什么网站可以做推广,传媒公司合同模板,做美食网站的模板鸿蒙开发深入浅出03#xff08;封装通用LazyForEach实现懒加载#xff09; 1、效果展示2、ets/models/BasicDataSource.ets3、ets/models/HomeData.ets4、ets/api/home.ets5、ets/pages/Home.ets6、ets/views/Home/SwiperLayout.ets7、后端代码 1、效果展示 2、ets/models/Ba… 鸿蒙开发深入浅出03封装通用LazyForEach实现懒加载 1、效果展示2、ets/models/BasicDataSource.ets3、ets/models/HomeData.ets4、ets/api/home.ets5、ets/pages/Home.ets6、ets/views/Home/SwiperLayout.ets7、后端代码 1、效果展示 2、ets/models/BasicDataSource.ets // BasicDataSource实现了IDataSource接口用于管理listener监听以及通知LazyForEach数据更新 // https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/arkts-rendering-control-lazyforeach-V5#stringdata%E7%B1%BB%E5%9E%8B%E6%95%B0%E7%BB%84%E7%9A%84basicdatasource%E4%BB%A3%E7%A0%81 export default class BasicDataSourceT implements IDataSource {// 内部用来触发UI更新的对象private listeners: DataChangeListener[] [];// 管理的数据private list: T[] [];// 返回数据总长度public totalCount(): number {return this.list.length;}// 读取对应下标的数据public getData(index: number): T {return this.list[index];}// 保存单个数据public setData(item: T) {// 只会更新数据不会更新UIthis.list.push(item);// 更新UI操作this.notifyDataAdd(this.list.length - 1);}// 更新所有列表数据public setList(list: T[]) {this.list list;// 全部通知修改this.notifyDataReload();}// 该方法为框架侧调用为LazyForEach组件向其数据源处添加listener监听registerDataChangeListener(listener: DataChangeListener): void {if (this.listeners.indexOf(listener) 0) {console.info(add listener);this.listeners.push(listener);}}// 该方法为框架侧调用为对应的LazyForEach组件在数据源处去除listener监听unregisterDataChangeListener(listener: DataChangeListener): void {const pos this.listeners.indexOf(listener);if (pos 0) {console.info(remove listener);this.listeners.splice(pos, 1);}}// 通知LazyForEach组件需要重载所有子组件notifyDataReload(): void {this.listeners.forEach(listener {listener.onDataReloaded();})}// 通知LazyForEach组件需要在index对应索引处添加子组件notifyDataAdd(index: number): void {this.listeners.forEach(listener {listener.onDataAdd(index);// 写法2listener.onDatasetChange([{type: DataOperationType.ADD, index: index}]);})}// 通知LazyForEach组件在index对应索引处数据有变化需要重建该子组件notifyDataChange(index: number): void {this.listeners.forEach(listener {listener.onDataChange(index);// 写法2listener.onDatasetChange([{type: DataOperationType.CHANGE, index: index}]);})}// 通知LazyForEach组件需要在index对应索引处删除该子组件notifyDataDelete(index: number): void {this.listeners.forEach(listener {listener.onDataDelete(index);// 写法2listener.onDatasetChange([{type: DataOperationType.DELETE, index: index}]);})}// 通知LazyForEach组件将from索引和to索引处的子组件进行交换notifyDataMove(from: number, to: number): void {this.listeners.forEach(listener {listener.onDataMove(from, to);// 写法2listener.onDatasetChange(// [{type: DataOperationType.EXCHANGE, index: {start: from, end: to}}]);})}notifyDatasetChange(operations: DataOperation[]): void {this.listeners.forEach(listener {listener.onDatasetChange(operations);})} }3、ets/models/HomeData.ets 注意因为我们这个模块使用了BasicDataSource.ets所以从鸿蒙开发深入浅出02封装Axios请求、渲染Swiper需改为ets后缀。 import BasicDataSource from ./BasicDataSource;Observed export class BasicListDataSourceT extends BasicDataSourceT {lists: T[] []; }export interface IHomeData {bannerList: IBannerListnavList: INavListtileList: ITileListplanList: IPlanListadPicture: string }// 计划列表类型 export interface IPlanItem {id: numberimageURL: string }export type IPlanList IPlanItem[]// 瓷片列表类型 export interface ITileItem {id: numberimageURL: stringtitle: stringsub_title: string }export type ITileList ITileItem[]// 导航列表类型 export interface INavItem {id: numbertitle: stringimageURL: string }export type INavList INavItem[]// 轮播图类型 export interface IBannerItem {id: numbername: stringimageURL: string }export type IBannerList IBannerItem[]4、ets/api/home.ets 同 3 所述home.ts 也需改为 ets 结尾并添加返回类型。 import { http } from ../utils/http import type { IHomeData } from ../models/HomeData// 获取页面数据 export const getHomeDataApi (): PromiseIHomeData {return http.getIHomeData(/home/info) }5、ets/pages/Home.ets import { getHomeDataApi } from ../api/home import { BasicListDataSource, IBannerItem, IBannerList } from ../models/HomeData import SwiperLayout from ../views/Home/SwiperLayout/*** MyHouseApplication #项目的名称* Home.ets #文件名称* Created by zhong ON 2025/2/23 #作者及添加日期*/ Component export default struct Home {State bannerList: BasicListDataSourceIBannerItem new BasicListDataSource();// 获取首页数据的函数getHomeData async () {const result await getHomeDataApi();this.bannerList.setList(result.bannerList);}// 生命周期函数初始化页面时触发aboutToAppear(): void {this.getHomeData();}build() {Scroll() {Column() {SwiperLayout({ bannerList: this.bannerList });}.width(100%)}.width(100%).height(100%).scrollBar(BarState.Off).align(Alignment.TopStart)} } 6、ets/views/Home/SwiperLayout.ets /*** MyHouseApplication #项目的名称* SwiperLayout.ets #文件名称* Created by zhong ON 2025/2/23 #作者及添加日期*/ import { IBannerItem, BasicListDataSource } from ../../models/HomeDataComponent export default struct SwiperLayout {ObjectLink bannerList: BasicListDataSourceIBannerItem;build() {Swiper() {LazyForEach(this.bannerList, (banner: IBannerItem) {Image(banner.imageURL).width(100%).height(100%).objectFit(ImageFit.Fill)}, (banner: IBannerItem) banner.id )}.width(100%).height(211 - 36).indicator(new DotIndicator().color($r(app.color.indicator_color)).selectedColor($r(app.color.indicator_active_color)))} } 7、后端代码 双击 zufangBackend-windows-amd64.exe 运行
http://www.dnsts.com.cn/news/115343.html

相关文章:

  • 单页网站制作软件seo搜索优化怎么做
  • 做网站用哪个软件商城网站建设哪家效益快
  • 做爰片姿势网站手机网站开发周期
  • 有空间与域名 怎么做网站注册公司没有地址怎么解决
  • 网站排名查询软件alexa创建软件app
  • 沈阳网站制作公司seo网站优化价格
  • 网站内容更新教程wordpress upload
  • 网站建设前景如何电子商务网站建设信息
  • 全球著名室内设计公司排名哈尔滨优化建站哪家专业
  • 网站怎么做排查修复酒店网站建设公司排名
  • 万柳网站建设宁波seo费用
  • 盐城做网站的公司地址品牌营销增长新参考价格
  • name域名的网站如何网络推广新产品
  • jsp 哪些网站宁波外贸网站制作
  • 个人怎么自己建网站中核集团为什么排央企第一名
  • 网站设计客户需求设计好的建设网站
  • 公司网站建设设计如何收费兰州装修公司口碑排名
  • 微网站开发周期wordpress 国内 主题
  • 绿色食品网站建设论文百度浏览器在线打开
  • 到哪个网站找内控制度建设我的世界怎么做充值点卷网站
  • 免费的网站域名查询565wccwordpress文章页面源码路径
  • 网站没有关键词收录广州环保网站建设
  • 潍坊知名网站建设哪家好同城推广引流平台
  • 网站前台后台模板做网站怎么打不开localhost
  • 个人网站 百度收录企业所得税2024
  • 系统数据库与建设网站宝安做棋牌网站建设多少钱
  • 吉林省建设工程质监站网站重庆网站建设制作设计公司
  • 宣传设计网站今傲网站做的怎么样
  • 绵阳网站建设报价襄阳建设网站公司
  • 不要域名能建网站么wordpress y郁思注意