HarmonyOS鸿蒙Next中关于JS UI开发的一些问题

HarmonyOS鸿蒙Next中关于JS UI开发的一些问题 今天尝试了一下在穿戴设备里开发地图。

现在遇到一些问题:

  1. 如果我想用百度地图,那么他们要求在页面里加script标签,这个在JS UI框架里是无法实现的。我也是今天才注意到是index.hml,不是html

  2. 如果不能用百度地图,我就尝试了一下用openlayer,npm安装成功,在index.js里import成功,但是实际运行的时候就不行了。我查了下原因,应该是openlayer非常依赖document的一些方法。 虽然JS UI框架里提供了获取DOM元素的方法,但是其他第三方库还是依赖于原生方法,比如渲染地图的时候需要需要找到目标元素,这个就需要queryselector方法,而JS UI框架里不支持document。当然可以理解,因为这就不是html,是hml。

  3. 以上的失败都还是可以理解的,但是比较让人头疼的就是用JS UI框架开发,我们很难调试,虽然可以用hilog去检查js的问题,但是hml里面我们就没有办法了。获取元素之后,我们可以做一些操作,但是没有办法拿到元素的信息,比如说大小和位置。

JS UI框架里是支持地理信息的获取,如果只能获取地理信息,却不能生成地图展现,那这个地理信息也没有什么用啊。

所以,是不是能支持一下js和dom的原生方法?或者提供一个map组件?

8 回复

你好,请问如何引入百度地图这个问题解决了吗

更多关于HarmonyOS鸿蒙Next中关于JS UI开发的一些问题的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


开发者你好,

  1. ace框架,页面文件后缀是hml,跟html是有差别的,目前不支持html的dom原生方法,暂时没有map组件,建议严格按照开发文档去开发,后续更新后开发文档也会随着更新。

  2. 关于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逻辑,通过组件化方式构建界面。常见问题包括:

  1. 组件生命周期管理,需熟悉onInitonReady等钩子函数;
  2. 数据绑定,使用@State@Prop等装饰器实现响应式更新;
  3. 样式与布局,支持Flex布局和CSS-like样式;
  4. 事件处理,通过@WatchonClick等实现交互逻辑。

建议参考官方文档和示例代码,确保兼容性和性能优化。

回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!