微信小程序,如何使用invoke
时间: 2024-12-11 18:23:38 浏览: 5
微信小程序的`invoke`方法主要用于远程调用其他页面或模块暴露出来的API。这个功能通常用于父子组件间的通信,或者是两个独立的页面之间的交互,比如从A页面调用B页面内部的一个函数。
以下是使用`invoke`的基本步骤:
1. **设置目标页面**:首先,在需要提供API的页面(例如`Page B`) 的`onReady`生命周期钩子中,通过`wx.setStorageSync`存储一个键值对,其中键可以是唯一的标识,值是一个包含方法名、参数等信息的对象。
```javascript
// pageB.js
Page({
onReady() {
wx.setStorageSync('apiTarget', { method: 'yourMethod', params: ['arg1', 'arg2'] });
},
... // 其他方法
})
```
2. **触发调用**:在调用方页面(例如`Page A`),当你想调用某个函数时,可以使用`invoke`方法,并传入目标页面的唯一标识以及你要调用的方法名和参数。
```javascript
// pageA.js
wx.invoke('yourApiName', { // 'yourApiName' 应该与`pageB.js`中存储的标识符相匹配
target: 'apiTarget', // 调用的目标页面
data: {
param1: 'value1',
param2: 'value2'
}
}).then((res) => {
console.log(res);
});
```
3. **处理响应**:调用成功后,`invoke`会返回一个Promise,你可以通过`.then`来获取远程调用的结果。
阅读全文