weixin_40102391 2024-11-15 11:44 采纳率: 92.9%
浏览 48

微信小程序,同一页面怎么调用不同方法里的变量?

微信小程序,同一页面怎么调用不同方法里的变量?

img


我这么调用报错了:
VM85 WAService.js:2 TypeError: this.data.bindPickerChange is not a function

  • 写回答

1条回答 默认 最新

  • Microi风闲 优质创作者: 编程框架技术领域 2024-11-16 00:40
    关注

    在微信小程序的同一页面中,可以通过以下几种方式调用不同方法里的变量:

    全局变量

    • 在小程序的 app.js 文件中定义全局变量,如 globalData: { myVariable: '初始值' }。

    • 在其他页面的 .js 文件中,通过 getApp() 函数获取全局变量,如 const app = getApp(); console.log(app.globalData.myVariable); 可读取,修改则用 app.globalData.myVariable = '新值';

    页面级变量提升

    • 将变量定义在页面的 data 中,如 data: { pageVariable: '初始值' }。

    • 在页面的不同方法中,可通过 this.setData() 或 this.data 来访问和修改,如 this.setData({ pageVariable: '新值' }); console.log(this.data.pageVariable);

    事件传参

    • 当一个方法中的变量需要传递给另一个方法使用时,可以通过事件触发传递参数。比如,在按钮的点击事件中传递变量,bindtap="handleClick" data-param="{{ myVariable }}"。

    • 在对应的 handleClick 方法中,通过 event.currentTarget.dataset.param 获取传递的变量值。

    闭包

    • 在一个方法中返回一个闭包函数,该闭包函数可以访问外部方法中的变量。例如,function outerFunction() { let outerVariable = '初始值'; return function innerFunction() { console.log(outerVariable); }; },调用 outerFunction() 得到闭包函数,执行它即可访问 outerVariable。

    评论

报告相同问题?

问题事件

  • 创建了问题 11月15日