鸿蒙开发系统项目编译报错问题记录

一、报错:A page configured in 'main_pages.json' must have one and only one '@Entry' decorator.

解决思路有两种:

(1)报错文件是页面文件:main_pages.json中声明的都是页面文件,页面文件需要一个入口文件,因此看看main_pages.json有没有声明报错文件的文件路径,或者报错文件有没有写'@Entry'注解;

(2)报错文件为自定义文件:如果报错文件不是页面文件,什么意思呢,就是在此文件中不需要写ArkTs或者ArkUi,例如我只定义某某接口或者某某class,其他的不写,由于我参照官方文档copy了一个工具类到自己的项目中,报了这个错,后面经排查是由于文件名过长,将文件名改短一点就好了。

代码如下:

二、报错:使用WebView引用htm时,htm中引入的js中的对象报错undefined

解决思路:

(1)htm本身能不能正常运行,如果不行先解决htm运行展示的问题,具体情况具体分析;

(2)在htm正常的情况下,参考这篇文章加速Web页面的访问-管理网页加载与浏览记录-ArkWeb(方舟Web)-应用框架 | 华为开发者联盟 (huawei.com)

三、报错:使用PersistentStorage.persistProp存取值的结果不一样

解决思路:

(1)确保传入的值存在,调试输出,根据官网文档给出的取值方法查看是否有输入;应用级变量的状态管理-ArkTS组件-ArkUI(方舟UI框架)-应用框架 | 华为开发者联盟 (huawei.com)

(2)将PersistentStorage.persistProp(key,value)写在进页面前,因为持久化操作需要在UI实例初始化成功后(即loadContent传入的回调被调用时)才可以被调用,早于该时机调用会导致持久化失败;

失败示例:写在了onclick事件中,导致值不一样;

正确示例

进页面要先写这句话 首次存入后 重开APP再次进来 执行这句代码 系统判断PersistentStorage有值就会同步到appstorage中

在业务逻辑代码中,改变值,此时系统会判断PersistentStorage有值就会同步到appstorage中

取值

(3)如果还是没用,改用@ohos.data.preferences (用户首选项)就好了通过用户首选项实现数据持久化-应用数据持久化-ArkData(方舟数据管理)-应用框架 | 华为开发者联盟 (huawei.com)

  • 8
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值