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

重庆企业网站制作网站备案期间怎么做

重庆企业网站制作,网站备案期间怎么做,wordpress菜单默认对游客不显示,设计师网络设计平台今天要分享的是仓颉开发语言中的懒加载。 先和初学者朋友们解释一下什么是懒加载。懒加载在代码中叫做LazyForEach,看到名字你一定能猜到它和ForEach的功能类似。只不过和ForEach的一次性加载所有数据不同,懒加载会根据屏幕可使区域按需加载数据&#x…

今天要分享的是仓颉开发语言中的懒加载。

先和初学者朋友们解释一下什么是懒加载。懒加载在代码中叫做LazyForEach,看到名字你一定能猜到它和ForEach的功能类似。只不过和ForEach的一次性加载所有数据不同,懒加载会根据屏幕可使区域按需加载数据,并且当内容滑出屏幕范围时,懒加载又会自动将这些内容销毁。

所以懒加载对于程序的性能有显著的优化,对于用户的体验也有大幅的提升,这一点幽蓝君在ArkTs语言中已经做过对比。当数据比较多比较大的时候强烈建议大家使用懒加载。

LazyForEach的用法和ForEach相比较为麻烦一些,它的数据源要求IDataSource类型,我们需要先自定义这个数据类型。IDataSource中有一些方法,主要用来获取数据和监听数据改变:

public interface IDataSource<T> {func totalCount(): Int64func getData(index: Int64): Tfunc onRegisterDataChangeListener(listener: DataChangeListener): Unitfunc onUnregisterDataChangeListener(listener: DataChangeListener): Unit
}

我在本地服务器放了几张高清图片,下面以加载这些高清图片为例,为大家演示懒加载的具体用法:

package ohos_app_cangjie_entry.page
import ohos.base.*
import ohos.component.*
import ohos.state_manage.*
import ohos.state_macro_manage.*
import std.collection.ArrayList
import std.collection.*
class CoverDataSource <: IDataSource<String> {public CoverDataSource(let data_: ArrayList<String>) {}public var listenerOp: Option<DataChangeListener> = Nonepublic func totalCount(): Int64 {return data_.size}public func getData(index: Int64): String {return data_[index]}public func onRegisterDataChangeListener(listener: DataChangeListener): Unit {listenerOp = listener}public func onUnregisterDataChangeListener(listener: DataChangeListener): Unit {listenerOp = None}public func notifyChange(): Unit {let listener: DataChangeListener = listenerOp.getOrThrow()listener.onDataReloaded()}
}
func getDS(): CoverDataSource
{let data: ArrayList<String> = ArrayList<String>(['http://example.com/youlanApi/cover/lazy1.jpg','http://example.com/youlanApi/cover/lazy2.jpg','http://example.com/youlanApi/cover/lazy3.jpg','http://example.com/youlanApi/cover/lazy4.jpg','http://example.com/youlanApi/cover/lazy5.jpg','http://example.com/youlanApi/cover/lazy6.jpg','http://example.com/youlanApi/cover/lazy7.jpg','http://example.com/youlanApi/cover/lazy8.jpg','http://example.com/youlanApi/cover/lazy9.jpg','http://example.com/youlanApi/cover/lazy10.jpg','http://example.com/youlanApi/cover/lazy11.jpg'])let dataSourceStu: CoverDataSource = CoverDataSource(data)return dataSourceStu
}
let coverDataSource: CoverDataSource = getDS()
@Entry
@Component
public  class lazypage {func build(){Column(30) {Grid {LazyForEach(coverDataSource, itemGeneratorFunc: {cover: String, idx: Int64 =>GridItem {Image(cover).width(100.percent).height(300)}})}.height(100.percent).width(100.percent).columnsTemplate('1fr 1fr').columnsGap(5).rowsGap(5).backgroundColor(0xFFFFFF).padding(right: 5, left: 5)}}
}

运行效果如下:

以上就是今天的内容分享,感谢阅读。##HarmonyOS语言##仓颉##购物#

http://www.yayakq.cn/news/43206/

相关文章:

  • 河北邯郸做wap网站网站建设需求填表
  • 电子政务与网站建设的经验番禺建设网站哪家好
  • 网站外包价格 北京网站制作公司增强wordpress编辑器
  • 广告设计公司图片电影网站如何做seo排名
  • 富通建设工程有限公司网站怎么给网站做开场动画
  • 网络推广网站排名免费营销型网站模版
  • 企业网站的一般要素包括哪些计算机网络技术是干什么的
  • 班级网站 建设目标麦包包网站建设的特点
  • 企业网站的建设 英文摘要山东泰安人才网
  • 天津网站建设美丽郑州有什么好玩的
  • 青岛建网站选青岛博采网络广西壮族自治区皮肤病医院
  • 个性化网站制作百度收录网站与手机版
  • php网站建设步骤如何制作微信答题小程序
  • 中企动力网站后台 好用吗网站开发用到的虚拟机有哪些
  • 好用的h5网站网站报纸什么软件做
  • 跨境电商网站开发网站新备案不能访问
  • 网站建设公司市场策划方案绍兴免费网站建站模板
  • 西部数码网站管理助手4.0 教程台州做网站联系方式
  • 做搜狗网站优免费万能视频提取器
  • 网站推广引流c 网站开发构想
  • 建网站主机个人做网站报价
  • 做外贸比较好用的网站有哪些铜陵网站建设公司
  • 猪八戒网站建设seo网站内部优化
  • 做兼职的设计网站有哪些网络推广的好处
  • 舆情网站入口英雄联盟网站模版
  • 遵义市乡村街道建设投诉网站华为开发者模式怎么关闭
  • 做游戏视频去哪个网站好wordpress文档结构
  • 站长工具怎样在赶集微网站做微招聘信息
  • 国外对于网站开发星巴克网站建设
  • 山东省建设工程领域挂证存颖网站手机报价大全2021中关村