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

鸿蒙开发中的坑(持续更新……)

      最近在使用鸿蒙开发时,碰到了一些坑,特做记录,如:鸿蒙的preview不能预览,轮播图组件Swiper使用时的问题,console.log() 打印的内容

一、鸿蒙的preview不能预览

首先,只有 ets文件才能预览。

其次,你的保证你电脑的内存足够(建议16G的内存以上),并且可用内存足够

再次

1)、文件--->设置--->构建,执行,部署----->构建工具--->Hvigor。  勾选最后一项:

         file---->settings-->build,Execution,Deployment--->build Tools----->Hvigor  勾选最后一项:Enable the Daemon fo tasks

2)、如果显卡没有问题的话,升级显卡驱动,然后在升级openGL。

二、轮播图组件Swiper使用时的问题

如果使用Swiper时,总是在切换组件时报错。尝试用List替换,自己实现轮播图的效果,如下:

import http from '@ohos.net.http';@Entry
@Component// 对外开放
export default struct Home {@State imgs: Array<string> = [];scroller: Scroller = new Scroller()// 创建http的请求对象httpRequest = http.createHttp();// 获取轮播图数据getBanners(){this.httpRequest.request("http://localhost:3000/bannerImgs",(err,data)=>{if(!err){this.imgs = JSON.parse(data.result as string);this.initScroll();}})}// aboutToAppear():这个生命周期钩子函数的调用时机:当本页面(组件)加载时,aboutToAppear(){this.getBanners();}// 自行实现轮播图功能:initScroll(){let index = 0;let maxIndex = this.imgs.length-1;setInterval(()=>{index++;if(index>maxIndex){index = 0;}this.scroller.scrollTo({xOffset:index*400,yOffset:0,animation:{duration:1000,curve:Curve.Linear}})},2000)}build() {// 最外层使用弹性盒布局,纵向分为三部分:搜索框,滚动容器,底部。Flex({ direction: FlexDirection.Column, justifyContent: FlexAlign.SpaceBetween }) {// 1)、轮播图List({scroller:this.scroller}){ForEach(this.imgs,(item)=>{ListItem(){Image(item).width(400).height("100%")}})}.width("100%").height(250).listDirection(Axis.Horizontal)}.width("100%").height("100%")}
}

三、console.log() 打印的内容

       经过测试,console.log()打印字符串时,碰到 斜杠后,就不再显示,但是数据在,所以,不必在意,当然,你可以尝试把字符串显示在界面上,进行验证 

四、ForEach函数的第三个参数

在循环json数组时,如果写上第三个参数,使用数组的某项拿出数据时,再做进一步运算时,会失去响应式,

解决方案:

1、去掉ForEach的第三个参数

2、数组的每一项用下标的方式访问。

五、发送请求

如果,用DevEco工具在预览项目时,如果根本不能发送请求时,可以进行权限的配置。

1、打开文件:

项目目录\entry\src\main\module.json5

2、增加如下代码:

{"module" : {………………"requestPermissions":[{"name": "ohos.permission.INTERNET"}]…………………}
}

http://www.lryc.cn/news/267716.html

相关文章:

  • 单体项目-动态上下文问题
  • Qt/QML编程学习之心得:实现一个图片浏览器(十八)
  • kafka发送大消息
  • React AntDesign form表单文件上传 nodejs formidable 接受参数并把文件放置后端项目相对目录指定文件夹下面
  • 设计模式之-6大设计原则简单易懂的理解以及它们的适用场景和代码示列
  • css 实现满屏升空的气球动画
  • 批量归一化
  • C语言:字符串字面量及其保存位置
  • 【开源】基于Vue+SpringBoot的新能源电池回收系统
  • 共享和独享的区别是什么?有必要用独享IP吗?
  • leetcode——打家劫舍问题汇总
  • Java经典框架之Spring MVC
  • Golang make vs new
  • Arthas
  • IP代理科普| 共享IP还是独享IP?两者的区别与优势
  • 龙芯loongarch64服务器编译安装tensorflow-io-gcs-filesystem
  • 开源持续测试平台Linux MeterSphere本地部署与远程访问
  • Kubernetes(K8S)快速入门
  • 将遗留系统分解为微服务:第 2 部分
  • RK3588平台开发系列讲解(AI 篇)RKNN-Toolkit2 模型的加载转换
  • CNVD原创漏洞审核和处理流程
  • 【java爬虫】基于springboot+jdbcTemplate+sqlite+OkHttp获取个股的详细数据
  • 智能优化算法应用:基于人工兔算法3D无线传感器网络(WSN)覆盖优化 - 附代码
  • 【ubuntu 22.04】安装vscode并配置正常访问应用商店
  • K8s出现问题时,如何排查解决!
  • 2015年第四届数学建模国际赛小美赛B题南极洲的平均温度解题全过程文档及程序
  • npm常见错误
  • JVM入门到入土-Java虚拟机寄存器指令集与栈指令集
  • MS2244模拟开关可Pin to Pin兼容NJM2244
  • PostgreSQL 可观测性最佳实践