小程序中js与浏览器中js有什么不同,增删改查全局数据


火车是朝前开的,去哪儿并不重要,关键在于窗外的风景。

小程序中js与浏览器中js有什么不同

就相当于问小程序中的javascript和javascript书写格式

小程序中没有Dom和Bom对象

小程序中新增了
App方法 用于定义应用程序实例对象
Page方法 用于定义页面对象
微信小程序由一个应用程序实例对象+多个页面对象构成
getApp 方法 用来获取全局应用程序对象
每个小程序有一个唯一的应用程序示例,可以通过getApp方法在任何位置拿到这个示例。

扩展

getCurrentPages 方法 用来获取当前页面的调用栈(数组,最后一个就是当前页面)

个人理解:该方法就是用来获取调用的所有的页面,第一个访问的在最下面,最后一个访问的在最上面,这些页面组成了一个数组,

在测试使用getCurrentPages 方法时,使用tabbar页面切换的方式,发现数组的长度length始终是1,
错误点在于:Tab切换 页面全部处栈,只留下新的Tab页面,可以使用页面链接跳转时使用该方法。

let page = getCurrentPages()
console.log(page) //打印页面栈所有痕迹

增删改查 全局数据

设置全局变量

在miniprogram > app.js 文件中设置,globalData对象就是存储全局变量的。

效 果 图
在这里插入图片描述

App({
    globalData: {
      hasLogin: false,
    },
    onLaunch: function () {
      
    }
})

获取全局变量

如我在全局设置了hasLogin属性就可以直接this
在app.js中直接this.globaldata.hasLogin

this.globalData.hasLogin

在其他页面需要先声明getApp(),才能获取到

千万不要写成 app() 这样就变成了全局设置,先当于修改全局app()

let app = getApp()
 
Page({
data:{}, //存放数据
  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {
console.log(app.globalData.hasLogin)
}
})

修改全局数据

直接修改就行
如 app.globalData.hasLogin =true

住:app.globalData 他是个对象,如果直接修改他,会造成数据丢失。所以修个单个数据
如果app.globalData 的数据多,也不能直接修改全局,单个修改

let app = getApp()
 
Page({
data:{}, //存放数据
  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {
console.log(app.globalData.hasLogin)
app.globalData.hasLogin =true
}
})

不管我们几岁,只要信仰年轻,我们就依旧年轻;人老了不是最惨的,心老才是最可怕的,心老了青春就真的就救不会来了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值