Vue模擬數(shù)據(jù),實(shí)現(xiàn)路由進(jìn)入商品詳情頁(yè)面的示例
一、路由
首先需要配置路由,就是點(diǎn)擊good組件進(jìn)入goodDetail組件
配置路由如下
{
path: '/goodDetail',
component:goodDetail
}
同時(shí)在good組件中寫(xiě)入如下點(diǎn)擊事件,路由中加入查詢(xún)參數(shù),也就是商品的id
//點(diǎn)擊路由到商品詳細(xì)信息頁(yè)
selectGood(){
router.push({
path: 'goodDetail',
query:{goodId:this.goodDetail.id}})
}
二、在goodDetail組件中接收路由參數(shù)
goodDetail中的代碼如下
export default{
data(){
return {
id: this.$route.query.goodId,
loading: false,
selectedGood: []
}
},
created(){
this.fetchData();
},
methods:{
fetchData(){
this.loading = true;
//拿到查詢(xún)字段,商品的id后進(jìn)行http請(qǐng)求
var id = this.id;
this.$http.get('/api/goods/' + id)
.then(response => {
this.selectedGood = response.data.data;
}, error => {
console.log(error);
})
this.loading = false;
}
}
}
可以看到我這里接收到路由參數(shù)的中的商品id后,發(fā)送了一個(gè)http請(qǐng)求,這時(shí)就需要本地mock數(shù)據(jù)
三、本地模擬數(shù)據(jù)
首先需要有一個(gè)data.json用來(lái)存放模擬的數(shù)據(jù),然后配置build目錄下的dev-server.js如下
//獲取mock數(shù)據(jù)
var appData = require('../data.json');
var goods = appData.goods;
var apiRoutes = express.Router();
apiRoutes.get('/goods', function (req, res) {
res.json({
errno: 0,
data: goods
});
})
//拿到指定id的商品信息
apiRoutes.get('/goods/:id', function(req, res) {
var id = req.params.id;
function selectedGood(id){
for(var i = 0; i < goods.length; i++) {
if(goods[i].id == id){
return goods[i];
}
}
}
var good = selectedGood(id);
res.json({
errno: 0,
// data: goods[req.params.id]
data: good
});
})
app.use('/api', apiRoutes);
以上這篇Vue模擬數(shù)據(jù),實(shí)現(xiàn)路由進(jìn)入商品詳情頁(yè)面的示例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
vue填坑之webpack run build 靜態(tài)資源找不到的解決方法
今天小編就為大家分享一篇vue填坑之webpack run build 靜態(tài)資源找不到的解決方法。具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-09-09
詳解關(guān)于Vue版本不匹配問(wèn)題(Vue packages version mismatch)
這篇文章主要介紹了詳解關(guān)于Vue版本不匹配問(wèn)題(Vue packages version mismatch),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-09-09
vue3超出文本展示el tooltip實(shí)現(xiàn)示例
這篇文章主要為大家介紹了vue3超出文本展示el tooltip實(shí)現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-02-02
vue+element實(shí)現(xiàn)批量刪除功能的示例
下面小編就為大家分享一篇vue+element實(shí)現(xiàn)批量刪除功能的示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-02-02
解決Vite打包后直接使用瀏覽器打開(kāi),顯示空白問(wèn)題
這篇文章主要介紹了解決Vite打包后直接使用瀏覽器打開(kāi),顯示空白問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-03-03
解決Vue的項(xiàng)目使用Element ui 走馬燈無(wú)法實(shí)現(xiàn)的問(wèn)題
這篇文章主要介紹了解決Vue的項(xiàng)目使用Element ui 走馬燈無(wú)法實(shí)現(xiàn)的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-08-08
vue全局掛載實(shí)現(xiàn)APP全局彈窗的示例代碼
本文主要介紹了vue全局掛載實(shí)現(xiàn)APP全局彈窗的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-05-05

