HarmonyOS 鸿蒙Next:使用ArkTs中的web组件runJavaScript方法无法调用vue3函数,调用无反应

发布于 1周前 作者 ionicwang 最后一次编辑是 5天前 来自 鸿蒙OS

HarmonyOS 鸿蒙Next:使用ArkTs中的web组件runJavaScript方法无法调用vue3函数,调用无反应

在应用端调用runJavaScript(‘test()’) 无法执行vue3里写的test函数

11 回复
正常应该是window.test = fun    这样子定义这个test方法才可以调用到

报错 说window上没有test 我用的是 vue3+组合式api+ts 怎么调用啊

vue里面本来就有window的。应该不会。或者你试试在js文件里面写。

有要学HarmonyOS AI的同学吗,联系我:https://www.itying.com/goods-1206.html

这个暂时我没解决。我用createWebMessagePorts解决了应用侧与前端页面数据通道,https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V2/web-app-page-data-channel-0000001493745576-V2

我这边能正常调 ,或者你写个代码示例发出来看看。

希望HarmonyOS能继续推出更多实用的功能,满足用户的不同需求。

vue3+组合式api+ts 怎么调用啊

可以的吧,我们就是用vue3,
vue里的函数不能直接调用吧
如果你说的是写在methods里的方法,应该这样
例如:const app = Vue.createApp…
window.my_vue = app.mount(’#app’);
window.my_vue.getData();

vue3+组合式api+ts 报错啊

在HarmonyOS鸿蒙Next中使用ArkTs的web组件时,如果runJavaScript方法无法调用Vue3中的函数,可能是由几个常见原因导致的。首先,确认Vue3的实例和函数在全局作用域中正确注册。由于runJavaScript执行的是JavaScript代码,它只能访问在全局作用域中定义的变量和函数。

  1. 全局注册Vue方法:确保Vue3的函数被绑定到全局对象(如window)上,以便从外部JavaScript环境中访问。

  2. 检查执行环境:确认runJavaScript执行的环境是否已正确加载Vue3的实例。如果Vue实例在runJavaScript调用后才被初始化,那么将无法访问Vue的方法。

  3. 调试与日志:使用console.log在Vue3内部和runJavaScript调用的外部打印调试信息,以确认执行流程和变量状态。

  4. 异步问题:如果Vue3的函数依赖于异步加载的数据,确保在调用runJavaScript时这些数据已经加载完成。

  5. 权限与安全:检查是否有任何安全策略或权限设置阻止了外部脚本访问Vue3实例。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html。

回到顶部