详情页
步骤1:获取请求数据
mounted ( ) {
let goods_id= this . $route. query. goods_id
let promise1= this . axios ( {
url: '/goods/detail' ,
method: 'GET' ,
params: {
goods_id: goods_id
}
} )
promise1. then ( ( res) => {
this . detailData= res. data. message
this . detailPic= res. data. message. pics
} )
}
步骤2:将数据渲染至页面
< div class = " lunboArea" >
< el-carousel :interval = " 5000" arrow = " always" height = " 150px" >
< el-carousel-item v-for = " item in detailPic" :key = " item.pics_id" >
< img class = " lunboPic" :src = " item.pics_mid_url" />
</ el-carousel-item>
</ el-carousel>
</ div>
< div class = " goodsName clearFix" >
< div class = " name" >
{{detailData.goods_name}}
< p> ¥ {{detailData.goods_price}}</ p>
</ div>
< div class = " collect" >
收藏
</ div>
</ div>
步骤3:将字符串转换为HTML
< div v-html = " detailData.goods_introduce" > </ div>
底部导航
< div class = " footNav clearFix" >
< div class = " footItem" > 分享</ div>
< div class = " footItem" @click = " goCart" > 购物车</ div>
< div class = " footItem" @click = " addCart" > 加入购物车</ div>
</ div>
点击加入购物车,将商品信息保存至本地
addCart ( ) {
let goods_id= this . $route. query. goods_id
console. log ( goods_id)
let cart= JSON . parse ( sessionStorage. getItem ( "cart" ) ) || [ ]
let index= cart. findIndex ( ( v) => v. goods_id== goods_id)
if ( index== - 1 ) {
this . detailData. num= 1
this . detailData. checked= true
cart. push ( this . detailData)
} else {
console. log ( cart[ index] )
cart[ index] . num++
}
sessionStorage. setItem ( "cart" , JSON . stringify ( cart) )
}
点击购物车跳转购物车页面
goCart ( ) {
this . $router. push ( '/cart' )
}