HarmonyOS鸿蒙Next中关于JS UI开发的一些问题
HarmonyOS鸿蒙Next中关于JS UI开发的一些问题 今天尝试了一下在穿戴设备里开发地图。
现在遇到一些问题:
-
如果我想用百度地图,那么他们要求在页面里加script标签,这个在JS UI框架里是无法实现的。我也是今天才注意到是index.hml,不是html
-
如果不能用百度地图,我就尝试了一下用openlayer,npm安装成功,在index.js里import成功,但是实际运行的时候就不行了。我查了下原因,应该是openlayer非常依赖document的一些方法。 虽然JS UI框架里提供了获取DOM元素的方法,但是其他第三方库还是依赖于原生方法,比如渲染地图的时候需要需要找到目标元素,这个就需要queryselector方法,而JS UI框架里不支持document。当然可以理解,因为这就不是html,是hml。
-
以上的失败都还是可以理解的,但是比较让人头疼的就是用JS UI框架开发,我们很难调试,虽然可以用hilog去检查js的问题,但是hml里面我们就没有办法了。获取元素之后,我们可以做一些操作,但是没有办法拿到元素的信息,比如说大小和位置。
JS UI框架里是支持地理信息的获取,如果只能获取地理信息,却不能生成地图展现,那这个地理信息也没有什么用啊。
所以,是不是能支持一下js和dom的原生方法?或者提供一个map组件?
开发者你好,
-
ace框架,页面文件后缀是hml,跟html是有差别的,目前不支持html的dom原生方法,暂时没有map组件,建议严格按照开发文档去开发,后续更新后开发文档也会随着更新。
-
关于onclick事件传参数问题,我们试过了,
onclick="goto({{id}})"
,id是在js data中定义的,是没有问题的。
原来是这样的,谢谢!
和我需要权威答复的问题一样。如下:
希望能够给出在鸿蒙系统下实现地图功能的技术路径!!!-华为开发者联盟
https://developer.huawei.com/consumer/cn/forum/topic/0204401624843630161?fid=0101303901040230869
您好,相关问题这边帮您核实一下。
今天尝试了一下路由跳转,发现onclick事件里似乎没有办法传入参数,请参考我的帖子
https://developer.huawei.com/consumer/cn/forum/topic/0204410864927640350?fid=0101303901040230869
这个onclick的属性里里似乎不支持bind方法,也不支持es6的箭头函数,能不能帮我一起核实一下?
在HarmonyOS鸿蒙Next中,JS UI开发主要基于ArkUI框架,使用JavaScript或TypeScript进行界面开发。ArkUI提供了丰富的组件和API,支持声明式UI编程,开发者可以通过简单的代码实现复杂的界面效果。JS UI开发中,常用的组件包括<div>
、<text>
、<image>
等,布局方式支持Flex布局和Grid布局。开发者可以通过@Component
装饰器定义自定义组件,使用@State
、@Prop
、@Link
等装饰器管理组件状态。事件处理通过@Watch
装饰器监听状态变化,或直接在组件上绑定事件处理函数。JS UI开发还支持动态加载资源、动画效果、主题切换等功能,开发者可以通过ResourceManager
管理资源,使用Animation
实现动画效果,通过Theme
切换应用主题。
在HarmonyOS鸿蒙Next中,JS UI开发主要基于ArkUI框架,支持声明式UI和类Web开发范式。开发者可以使用JavaScript或TypeScript编写UI逻辑,通过组件化方式构建界面。常见问题包括:
- 组件生命周期管理,需熟悉
onInit
、onReady
等钩子函数; - 数据绑定,使用
@State
、@Prop
等装饰器实现响应式更新; - 样式与布局,支持Flex布局和CSS-like样式;
- 事件处理,通过
@Watch
或onClick
等实现交互逻辑。
建议参考官方文档和示例代码,确保兼容性和性能优化。