背景
随着华为纯血版HarmonyOS NEXT的推出,鸿蒙系统脱离安卓的日子越来越近了。作为车企大厂的我们当然要第一时间学习鸿蒙开发,提前做好技术储备,为日后鸿蒙应用的开发做好准备工作。于是,小编不得不开始卷起来。哎,前一段时间刚卷完Flutter。。。。
问题
目前关于鸿蒙的资料不多,小编也是只能从鸿蒙开发者官网上看看官方学习视频,不得不说,视频讲解的真简单,觉得自己一看就会,当上手写代码的时候却又是另外一个样子了。不管是Java还是Kotlin,字符串都是用大写String来定义,一到鸿蒙上就变成了小写string。初学者要特别注意,不然出错都找不到地方,甚至怀疑自己的能力。
这两天学到鸿蒙的路由跳转,下面是官方的文档截图:
官方文档只给了一个路由跳转的API使用方法,我一看如此简单,立马照葫芦画瓢。下面是我的路由跳转代码截图:
我写了个列表,点击Text跳转第二页。和官方文档写的完全一样。我也是比对了好几遍。当我信心满满的点击时,发现居然页面不跳转。泪奔。。。。和文档写的完全一样啊,难道是文件名不对?应该是第二页定义的结构体名称? 我立刻把结构体名称改成TodoListPage,发现依然报错:
错误信息提示 路由不存在。我有点懵逼了,又把文档翻了几遍。确定一点问题没有,完全一样。还是无法跳转。
这是什么鬼?二话不说直接下载官方demo,一点点比对,从上到下比对了一堆文件,终于在main_pages.json 文件中发现了问题。
原来需要在这个文件中注册路由!!!我们手动创建的文件并不会自动注册路由,需要手动注册,手动注册,手动注册!!!重要的事情说三遍!
注册完路由,果然问题解决了,初学者一定要注意这一点,不然可能会碰到和小编一样的问题。
除此之外,小编也给大家尝试过了,这个路由表示的是文件名称,并不是文件里面的结构体名称。
正在学习鸿蒙的小伙伴,可以分享一下在学习中遇到的坑,避免大家多走弯路。。。