1. 在 JS FA 中发送事件:
在 JS FA 中,你可以使用 sendEvent 方法发送一个自定义的事件。例如:
import router from '@system.router';
export default {
data: {
message: 'Hello from JS FA!',
},
methods: {
goToPage() {
// 发送自定义事件到 PA
this.$dispatch('customEventName', {
data: 'Custom data from JS FA',
});
// 也可以直接通过路由跳转到 PA
router.push({
uri: 'pages/index/index',
});
},
},
};
2. 在 PA 中监听事件:
在 PA 中,你可以使用 subscribe 方法监听特定的事件,然后执行相应的操作。例如:
import router from '@system.router';
export default {
onInit() {
// 监听来自 JS FA 的自定义事件
this.$on('customEventName', (data) => {
console.info('Received event from JS FA:', data);
// 处理接收到的数据
});
},
// 其他生命周期和方法
};
这个例子中,JS FA 使用 $dispatch 方法发送了一个名为 customEventName 的自定义事件,并携带了一些数据。在 PA 中,通过 $on 方法监听这个事件,并在回调函数中处理接收到的数据。
需要注意的是,为了确保通信的有效性,建议在 PA 中对事件进行订阅的操作放在 onInit 生命周期方法中,确保监听在页面初始化时就生效。
通过这种方式,你可以在 JS FA 和 PA 之间进行简单而灵活的通信。如果有更复杂的通信需求,还可以考虑使用全局数据、共享的数据模型等方式进行信息传递。
转载请注明出处:http://www.zyzy.cn/article/detail/1466/鸿蒙OS