收藏
回答

用户不可见数据不建议进行 setData,那怎么定义当前页面的全局变量

框架类型 问题类型 终端类型 微信版本 基础库版本
小程序 需求 工具 1.02.1902010 2.00


提问题步骤这么多!?

其实我就想知道当前页面的全局变量写在哪里?

  1. 不要提globalData,这个是整个app的全局变量

  2. 不要用setData ,因为我说的全局变量是不需要显示在页面上的


补充一下:

我说的是当前页面的全局变量,就是我在index.js里面定义的,在整个index.js里面都能使用。其他的js都不能使用的那种

ヽ(ー_ー)ノ




最后一次编辑于  2019-02-15
回答关注问题邀请回答
收藏

8 个回答

  • 来一间
    来一间
    2019-02-15

    Page({

        data:{

    val:1

        }

        onLoad: function(){

    this.data.val += 1;

            console.log(this.data.val);

        }

    })


    变量声明周期是跟页面同步的, 不通过setData赋值不会渲染页面数据


    2019-02-15
    有用 8
    回复 2
    • 🌞
      🌞
      2019-02-15

      感谢

      2019-02-15
      回复
    • 文科男
      文科男
      2019-02-19

      这种写法后期维护太坑了吧

      2019-02-19
      回复
  • 卢霄霄
    卢霄霄
    2019-02-15

    let value = 1;// 这里的变量不会随着页面销毁而销毁

    Page({

        value: 2,

        onLoad: function(){

            this.value = 3

        }

    })

    2019-02-15
    有用 2
    回复
  • 彩云衣内容电商平台
    彩云衣内容电商平台
    2019-02-18

    page外var const let    PS:页面注销后就重置了

    2019-02-18
    有用 1
    回复 1
    • 十氧化四磷
      十氧化四磷
      02-23
      Page外Var const let 的变量不会随着页面的注销而重置,我刚刚试验了一下。
      02-23
      回复
  • 吴奕群
    吴奕群
    2019-02-15

    额,用let?

    2019-02-15
    有用 1
    回复
  • 小宇宙
    小宇宙
    2019-02-19
    Page({
      
        data: {},
      
        count = 0,
      
        onLoad() {
      
            this.count += 1;
      
            console.log(this.count);
      
        }
      
    });


    2019-02-19
    有用
    回复
  • 慕枫桥夜泊
    慕枫桥夜泊
    2019-02-18

    直接在page外面进行设置, 直接var或者let。

    但你要注意,你的这个全局数据若不是固定值 那么记得在页面隐藏和卸载的时候把这个值还原到原始值。

    举例: 列表分页

            初始全局 pageSize 为 0 ,显示10条。

            上拉加载,pageSize +1  ,

            若你在页面隐藏或者卸载时不把pageSize 还原为0的话,

            再次访问的时候,这个pageSize 就是你上次访问后的值

    2019-02-18
    有用
    回复
  • 猫5号
    猫5号
    2019-02-18

    直接挂this上

    Component({
        created() {
            this.v = 1
        }
    })


    2019-02-18
    有用
    回复
  • ==
    ==
    2019-02-15

    额!这些都不行啊! 要不 var???

    2019-02-15
    有用
    回复
登录 后发表内容