微信小程序Pages外的函数获取Pages中data的值
时间: 2023-11-28 16:50:13 浏览: 46
要在小程序的 Pages 外部获取到 Pages 中的 data 值,可以使用小程序的全局函数 getApp() 获取当前小程序的实例,然后访问该实例的某个页面的 data 值。
具体步骤如下:
1. 在 Pages 中的某个页面中定义一个全局变量或者全局函数,用来返回该页面的 data 值。例如:
```
// pages/index/index.js
const app = getApp()
Page({
data: {
message: 'Hello World'
},
onLoad() {
app.globalData.getPageData = () => {
return this.data
}
}
})
```
2. 在需要获取该页面 data 值的地方,使用 getApp() 函数获取小程序实例,并调用该页面定义的全局函数获取 data 值。例如:
```
// app.js
App({
globalData: {
getPageData: null
}
})
// other.js
const app = getApp()
const pageData = app.globalData.getPageData()
console.log(pageData.message) // 输出 "Hello World"
```
需要注意的是,在调用 getPageData() 函数前,必须确保该页面已经被加载过,否则将会返回 undefined。在上面的例子中,我们在页面的 onLoad 生命周期中定义了 getPageData() 函数,因此可以保证页面加载完毕后可以正确获取到 data 值。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)