点购热门商品
热门商品
热门商品数据
api 获取热门商品的封装接口api/index.js
//首页热门商品列表接口
// /biz/ queryAllCommodit
export function getDetail(){
return axios.get(`${baseUrl}/biz/queryAllCommodity`)
}
commodity.vue
引入接口
import {getDetail} from '@/api/index.js'
import {reactive, onMounted} from 'vue'
添加循环v-for v-for="(item,i) in lists.datas" :key="i"
<router-link class="listItem"
:to="{path:'/details',query:{id:item.id}}" v-for="(item,i) in lists.datas" :key="i">
<div class="left">
<div class="url">
<img :src="'http://47.95.13.193/myToiletries'+item.photo" alt="">
</div>
</div>
<div class="right">
<div class="hot"><img src="../assets/img/homepage_10.jpg" alt=""></div>
<div class="content">
<span class="name">{{item.name}}</span><br>
<span class="jianjie">{{item.info}}</span><br>
<div class="buy"><span>购买</span></div>
</div>
</div>
</router-link>
获取接口中的data的数据然后保存获取 的商品列表
setup() {//vue3组合api
let lists = reactive({
datas: [],//保存获取的商品列表
})
onMounted(async () => {//view与model绑定成功之后生命周期函数
let res = await getDetail()
lists.datas = res.data.data.slice(0, 3)
console.log(res.data.data)//获取接口中的data数据
})
return {lists}
}
点击热门商品出现商品详情
api 获取热门商品的封装接口api/index.js
//获取商品详情的api请求参数
// /biz/queryCommodityById
export function getPlaylistDetail(id){
return axios.get(`${baseUrl}/biz/queryCommodityById?id=${id}`)
}
Details.vue中引入
import DetailsTop from "@/components/detailsTop";
获取商品详情
setup() {//vue3组合api
const route = useRoute();//当前组件的路由信息对象
// this.$router.query.id 没有setup时 这样获取router
let lists = reactive({
playlist: {}//商品详情
})
onMounted(async () => {//view与model绑定成功之后生命周期函数
//先拿到热门商品点击时自己的id
let id = route.query.id
console.log("id为" + id)
let res = await getPlaylistDetail(id)
lists.playlist = res.data.data
console.log("lists.playlist" + lists.playlist)
// console.log(res)
//进入歌单详情页面,将商品中详情列表传递到store中的playlist中去
//commit触发store对象中mutation中函数
store.commit('setPlaylist', lists.playlist)
console.log(lists.playlist.effectList[id = id - 1].name)
})
return {lists}
}
拿到了商品详情的数据playlist
<detailsTop :playlist="lists.playlist"></detailsTop>
在detailTop.vue中显示 在页面上使用子组件props传参接收
export default {
name: "detailsTop",
//使用props传参接收
props: ['playlist']
}
使用数据显示内容
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下