当前位置: 首页 > 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"
           }
        ]
        …………………

    }
}

相关文章:

  • cfa一级考生复习经验分享系列(十一)
  • 低时延,可扩展的 l4s 拥塞控制算法
  • MySQL——内置函数
  • 【SpringCloud笔记】(10)消息总线之Bus
  • 分支限界法求解01背包(优先队列)【java】
  • 2023年第七届强网杯初赛 WP
  • Python期末复习第一章——概述
  • vmware安装中标麒麟高级服务器操作系统 V7.0
  • 动物分类识别教程+分类释义+界面展示
  • 【排序算法】C语言实现选择排序与冒泡排序
  • OpenEuler安装内网穿透工具实现ssh连接openEuler系统
  • pip install multiprocessing报错子进程错误error: metadata-generation-failed
  • IP代理科普| 共享IP还是独享IP?两者的区别与优势
  • C++哈希表的实现
  • Anylogic Pro 8.8.x for Mac / for Linux Crack
  • DOM and XPATH
  • linux中主从复制的架构和读写分离的方式
  • SpaceDesk如何连接平板/PC(生产力副屏)
  • 禁止选择当天及以后的时间
  • Prometheus node_exporter计算CPU利用率的标准公式应该是哪一个
  • 乡村快递取件“跑腿费”屡禁不止?云南元江县公布举报电话
  • 现场丨“影像上海”启幕:串联摄影、电影与当代艺术
  • 北京:下调个人住房公积金贷款利率
  • 上海科创“八杰”赋能新兴产业链:硬核科技,形成良好盈利模式
  • 云南省司法厅党委书记、厅长茶忠旺主动投案,正接受审查调查
  • 丁薛祥在学习《习近平经济文选》第一卷专题研讨班上强调,深入学习贯彻习近平经济思想,加强党中央对经济工作的集中统一领导