mui中extras传递的参数在新页面怎么接收
时间: 2024-02-09 22:08:36 浏览: 34
在UI 中,可以通过 `mui.openWindow()` 方法打开一个新页面,并通过 `extras` 参数传递数据。接收数据的方式有两种:
1. 使用 `currentWebview` 对象接收
在新页面中,可以通过 `plus.webview.currentWebview()` 获取当前窗口的 `webview` 对象,该对象包含了在打开该窗口时传递的 `extras` 数据。可以通过访问 `currentWebview` 对象的 `extras` 属性来获取数据。
例如,在打开新页面时传递了一个名为 `name` 的参数:
```javascript
mui.openWindow({
url: 'newPage.html',
extras: {
name: 'John'
}
});
```
在新页面中可以通过以下方式获取该参数:
```javascript
var currentWebview = plus.webview.currentWebview();
var name = currentWebview.extras.name;
console.log(name); // 输出:John
```
2. 使用 `options` 参数接收
在新页面中,可以使用 `options` 参数接收传递的数据。在打开新页面时,可以将 `options` 对象传递给 `mui.openWindow()` 方法的第二个参数。在新页面中,可以通过访问 `options` 对象获取数据。
例如,在打开新页面时传递了一个名为 `name` 的参数:
```javascript
mui.openWindow('newPage.html', {
name: 'John'
});
```
在新页面中可以通过以下方式获取该参数:
```javascript
var options = mui.extend(true, {}, plus.webview.currentWebview().options);
var name = options.name;
console.log(name); // 输出:John
```
需要注意的是,如果在新页面中使用了 `mui.init()` 方法初始化了当前页面,`options` 对象会被 MUI 自动转换为 `window.__mui_options` 对象,因此可以通过访问 `window.__mui_options` 对象获取数据。例如:
```javascript
mui.init({
keyEventBind: {
backbutton: false // 禁用后退按钮
}
});
console.log(window.__mui_options.name); // 输出:John
```
以上就是在 MUI 中通过 `extras` 参数传递数据并在新页面中接收的两种方式。