设计思路:
(1)数据库查询语句:参考thinkjs文档
(2)点击按钮后如何与数据库联通:
这个问题之前就存在过,就是怎么传参数的问题,之前我一直没有找到bindtap来传的方法,所以一直用的navigator,而且之前传参数确实使用navigator会好一下,因为要达赖新的界面嘛。但是如果收藏界面也用navigator打开新界面的话就不太符合操作习惯了,而且可能新界面整个界面只有几个字也不好看。于是我想到了用小程序的弹出窗口来设计,发现有好多种的设计方法,按照习惯我还是直接选取了weui来进行弹出窗口的设计。但是传参数的这个问题还是没有解决。最后参考了这篇文章:这是超链接https://www.jianshu.com/p/6bcbbc985345。用bindtap的data-gid=’{{item.gId}}'来传参数顺利的解决了这个问题
下面使核心的代码:
后台js文件:
async colladdAction(){
let name=this.get("name");
let info=this.get("info");
think.logger.info(name);
let model = this.model('entry_coll');
let insertId = await model.add({entryName:name , entryWord: info});
}
async deleteAction(){
let name=this.get("name");
let model = this.model('entry_coll');
let affectedRows = await model.where({entryName: name}).delete();
}
小程序端wxml:
<a class="weui-btn weui-btn_primary" data-gid='{{entrymore}}' bindtap="openToast">取消收藏</a>
js文件:
onLoad: function (options) {
console.info(options.entryname)
//发送网络请求,获取数据
var that = this
//调用方法获取电影列表
wx.request({
url: 'http://127.0.0.1:8360/home/chap/entry',
data: {
name: options.entryname
},
success: function (res) {
//获取相应结果
var result = res.data.data;
console.info(result)
//声明数组列表
var entryname = [];
var entryinfo = [];
var entry = [];
entryname.push(result[0].entryName);
entryinfo.push(result[0].entryWord);
entry.push({
name: (result[0].entryName),
info: (result[0].entryWord),
})
//储存于数据仓库
that.setData({
entryNa: entryname,
entryInfo: entryinfo,
entrymore: entry
});
}
})
}