async function getShopList() { let info = await ajax({ url: '/goods/list', data }) if (info.code === 1) { // 将商品列表渲染到页面上 renderList(info.list) total = info.total pageSize.value = data.pagesize pageBox.innerHTML = `${data.current} / ${total}` } }这段代码是什么意思
时间: 2023-02-21 17:14:25 浏览: 49
这段代码是一个 JavaScript 异步函数,名为 "getShopList"。它使用了一个异步函数 ajax 来获取商品列表的信息,并通过 URL "/goods/list" 以及请求参数 data 来请求。如果返回的信息的 code 值为 1,代表请求成功,那么会将商品列表渲染到页面上,同时设置总数和分页相关的信息。
相关问题
<image :src="url"></image>,data() { return { // 获取单个商品总数据 async getCommodity(query) { const res = await uni.$http.get('/commodity/getCommodityById', { id: query }) if (res.data.code == 200) { this.tableData = res.data.data // this.tableData.url = 'http://localhost:8081/img/AllCommodity/' + this.tableData.url this.url = `http://localhost:8081/img/AllCommodity/${this.tableData.url}` console.log(this.url); console.log(typeof (this.url)); } else { uni.showLoading({ title: '数据获取失败', icon: 'error' }); setTimeout(function () { uni.hideLoading(); }, 1000); } },这是代码,图片不出来,是什么问题 //总数据 tableData: {}, url: '', //商品所有权是否存在 } }; },,
根据你提供的代码,问题可能出在以下几个方面:
1. 确认图片的路径是否正确
代码中有一段注释掉的代码:
```javascript
// this.tableData.url = 'http://localhost:8081/img/AllCommodity/' + this.tableData.url
```
这段代码尝试给图片路径加上了前缀,但是被注释掉了。请检查图片在服务器上的存放路径是否正确,如果不正确需要修改路径。
2. 确认图片是否存在
在控制台中打印出来的图片路径是否正确?如果路径正确,那么可能是因为图片不存在或者服务器无法访问到图片,导致图片无法显示。
3. Vue中的图片加载问题
如果以上两个问题都没有解决问题,那么可能是Vue中的图片加载问题。Vue在加载图片时,需要使用v-bind指令将图片路径绑定到src属性上。你可以将代码修改为:
```html
<image :src="url"></image>
```
这样就可以正确地在页面上显示图片了。
async function changeNumber(target) { let param = { url: '/cart/number', argument: { id: localStorage.getItem('userId'), goodsId: target.parentElement.parentElement.dataset.goodsid, // number: --target.nextElementSibling.value } } if (target.className == 'deleteGoods') { param.argument.number = --target.nextElementSibling.value if (param.argument.number == 0) { target.nextElementSibling.value = 1 target.disabled = true return } } if (target.className == 'addGoods') { param.argument.number = target.previousElementSibling.value target.previousElementSibling.previousElementSibling.disabled = false } let res = await ajax_post(param) if (res.code == 1) { this.renderCarList() } } 改变为同步函数怎么改变
可以直接将async关键字去掉,改为普通的函数即可。如下所示:
function changeNumber(target) {
let param = {
url: '/cart/number',
argument: {
id: localStorage.getItem('userId'),
goodsId: target.parentElement.parentElement.dataset.goodsid,
// number: --target.nextElementSibling.value
}
}
if (target.className == 'deleteGoods') {
param.argument.number = --target.nextElementSibling.value
if (param.argument.number == 0) {
target.nextElementSibling.value = 1
target.disabled = true
return
}
}
if (target.className == 'addGoods') {
param.argument.number = target.previousElementSibling.value
target.previousElementSibling.previousElementSibling.disabled = false
}
let res = ajax_post(param)
if (res.code == 1) {
this.renderCarList()
}
}