微信小程序怎么进行数据缓存

微信小程序怎么进行数据缓存,第1张

您好!很高兴能为您解答, 在微信小程序中,数据缓存其实就和localstorage 的原理差不多,所以理解起来并不难。下面我们来一起实现一下。

效果图展示:

我们在index页面存入数字11,然后在跳转到新页面,在将缓存中的11取出渲染到当前页面。具体代码如下:

index页面:

<span style="font-size:24px;">

<view class="btn-area">

<navigator url="/navigator/navigatortitle=我是navi">跳转到新的页面post情求</navigator>

<navigator url="/redirect/redirecttitle=我是red" redirect>跳转到当前页面</navigator>

</view>

</span>

<view>

<input style="border:2rpx solid red" placeholder="输入信息" bindinput="getInput" />

<button style="border:2rpx solid yellow" bindtap="saveInput">存入</button>

</view>1234567891012345678910

index的js:

//indexjs

//获取应用实例

var app = getApp()

Page({

data: {

storage:''

},

onLoad: function () {

var that = this

//获取输入值

getInput:function(e){

thissetData({

storage:edetailvalue

})

},

//存储输入值

saveInput:function(){

wxsetStorageSync('storage', thisdatastorage)

}

})

12345678910111213141516171819202122231234567891011121314151617181920212223

跳转页面:

<view>从存储中得到的数据:{{storage}}</view>11

跳转页面的js:

var app = getApp();

var that;

Page( {

data: {

storage:''

},

onLoad: function(options) {

that = this;

//获取存储信息

wxgetStorage({

key: 'storage',

success: function(res){

// success

thatsetData({

storage:resdata

})

}

})

}

})

原因:queryget  方法是异步的(小程序的请求方法基本都是异步执行),所以程序会先执行updatePostData();方法 。而此时数据detail并未绑定数据,所以自然拿不到前面设定的值

解决方案:

在queryget执行完毕后的回调函数调用updatePostData()方法

使用fetchthen

问题应该是出在this,程序运行到这里,this的指向很可能已经发生了改变(这是js众所周知的毛病,除非你改用ES6的新式写法),不再是当前Page了,所以thisdata就出错了,自然而然thisdatadeviceId也无效了。正确的做法是在函数的开头把this赋值给另一个变量,比如 var _this=this,或者 var that=this,然后函数后面要用到this的地方就用_this或that代替(比如thatdatadeviceId)

您好,可以这样设置:

function setData(){

    var that = this;

    thatsetData({

      smart_cookies_city:'134',

      cityname:'南京'

    })

}

以上就是关于微信小程序怎么进行数据缓存全部的内容,包括:微信小程序怎么进行数据缓存、微信小程序data数据获取问题、微信小程序传参为null同一个data有的正常有的为null等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9490555.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存