我原来这样写,一直报错
// 不管写什么函数,都会报错
// thirdScriptError Cannot read property 'setData' of undefined;
// thirdScriptError Cannot read property 'jiazai' of undefined;
下面是 错误写法
// 删除
todelete: (event) => { // 原因在这
var that = this;
let type = event.currentTarget.dataset.type;
let id = event.currentTarget.dataset.id;
wx.request({
url: 'https://....com/Wxapi/Index/artdelete',
method: 'get',
data: ({
id: id,
type: type
}),
header: {
'content-type': 'application/json' // 默认值
},
success: function (res) {
// 如何实现删除成功之后刷新
var da = res.data;
if (da == 'fK') {
util.showModal("删除成功");
that.jiazai(); // 实现页面自动刷新
}
that.setData({
contentlistn: res.data // 页面分配数据
});
}
})
},
正确写法是
// 删除
todelete: function (event) { // 应该改这 的写法 就解决问题了
var that = this;
let type = event.currentTarget.dataset.type;
let id = event.currentTarget.dataset.id;
wx.request({
url: 'https://....com/Wxapi/Index/artdelete',
method: 'get',
data: ({
id: id,
type: type
}),
header: {
'content-type': 'application/json' // 默认值
},
success: function (res) {
// 如何实现删除成功之后刷新
var da = res.data;
if (da == 'fK') {
util.showModal("删除成功");
that.jiazai(); // 实现页面自动刷新
}
that.setData({
contentlistn: res.data // 页面分配数据
});
}
})
},
调用的 jiazai() 函数,是onload 中实现加载页面初数据的方法
// 页面初加载数据
jiazai: function(){
var that = this;
var sessionid = wx.getStorageSync('session_id');
wx.request({
url: 'https://....com/Wxapi/Index/tarlist',
method: 'get',
data: ({
sessionid: sessionid,
}),
header: {
'content-type': 'application/json' // 默认值
},
success: function (res) {
// 去掉返回json数据的最后两个属性
delete res.data.referer
delete res.data.state
var contentlistn = res.data;
var display = '';
if (contentlistn[0] )
{
display = true;
}else{
display = false;
delete res.data.message // 这样前台无数据的时候,显示就对了
delete res.data.status
}
that.setData({
contentlistn: res.data // 页面分配数据
});
}
})
},