当前位置:   article > 正文

鸿蒙开发中的坑(持续更新……)_鸿蒙开发 问题多

鸿蒙开发 问题多

      最近在使用鸿蒙开发时,碰到了一些坑,特做记录,如:鸿蒙的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替换,自己实现轮播图的效果,如下:

  1. import http from '@ohos.net.http';
  2. @Entry
  3. @Component
  4. // 对外开放
  5. export default struct Home {
  6. @State imgs: Array<string> = [];
  7. scroller: Scroller = new Scroller()
  8. // 创建http的请求对象
  9. httpRequest = http.createHttp();
  10. // 获取轮播图数据
  11. getBanners(){
  12. this.httpRequest.request("http://localhost:3000/bannerImgs",(err,data)=>{
  13. if(!err){
  14. this.imgs = JSON.parse(data.result as string);
  15. this.initScroll();
  16. }
  17. })
  18. }
  19. // aboutToAppear():这个生命周期钩子函数的调用时机:当本页面(组件)加载时,
  20. aboutToAppear(){
  21. this.getBanners();
  22. }
  23. // 自行实现轮播图功能:
  24. initScroll(){
  25. let index = 0;
  26. let maxIndex = this.imgs.length-1;
  27. setInterval(()=>{
  28. index++;
  29. if(index>maxIndex){
  30. index = 0;
  31. }
  32. this.scroller.scrollTo({
  33. xOffset:index*400,
  34. yOffset:0,
  35. animation:{
  36. duration:1000,
  37. curve:Curve.Linear
  38. }
  39. })
  40. },2000)
  41. }
  42. build() {
  43. // 最外层使用弹性盒布局,纵向分为三部分:搜索框,滚动容器,底部。
  44. Flex({ direction: FlexDirection.Column, justifyContent: FlexAlign.SpaceBetween }) {
  45. // 1)、轮播图
  46. List({scroller:this.scroller}){
  47. ForEach(this.imgs,(item)=>{
  48. ListItem(){
  49. Image(item)
  50. .width(400)
  51. .height("100%")
  52. }
  53. })
  54. }
  55. .width("100%")
  56. .height(250)
  57. .listDirection(Axis.Horizontal)
  58. }
  59. .width("100%")
  60. .height("100%")
  61. }
  62. }

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

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

四、ForEach函数的第三个参数

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

解决方案:

1、去掉ForEach的第三个参数

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

五、发送请求

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

1、打开文件:

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

2、增加如下代码:

  1. {
  2. "module" : {
  3. ………………
  4. "requestPermissions":[
  5. {
  6. "name": "ohos.permission.INTERNET"
  7. }
  8. ]
  9. …………………
  10. }
  11. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/333701
推荐阅读
相关标签
  

闽ICP备14008679号