store 存储仓库传参
- 当我么需要访问另一条url的时候,我们可能会携带参数会访问,并且通过参数会获取到对应的数据
- store仓库的特点:当页面一刷新,数据就没了,回到了定义时的初始值
// store/index.js
import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex);
export default new Vuex.Store({
state: {
// 我们可以在这里,提前定义好一个变量值
// 用来接收从一个url 跳到另一个url时,传过来的数据
detail:{}
},
mutations: {
},
actions: {
},
modules: {
}
})
<template>
<div class="ad">
<img :src="phone.img" alt="">
<p class="title"><b>品牌:{{phone.title}}</b></p>
<p>价格:{{phone.price}}</p>
<p class='click' @click="clickEvent(phone)">详情页面-></p>
</div>
</template>
<script>
import ad from '@/components/ad.vue'
export default {
ad,
name: "phone",
props: ['phone', 'id'],
methods: {
clickEvent(phone) {
this.$store.state.detail = phone;
this.$router.push({
name:'ad-detail',
params:{pk:phone.id}
})
},
}
}
</script>
<template>
<div class="wrap">
<p @click="clickEvent">返回</p>
<div class="detail">
<p><b>商品详情页面</b></p>
<img :src="detail.img">
<div class="d">
<p>品牌:{{detail.title}}</p>
<p>价格:{{detail.price}}</p>
<p>出产日期:{{detail.date}}</p>
</div>
</div>
</div>
</template>
<script>
export default {
name: "addetail",
data() {
return {
detail: {},
}
},
methods: {
clickEvent() {
this.$router.go(-1)
}
},
created() {
window.console.log(this.$store.state.detail);
this.detail = this.$store.state.detail;
},
}
</script>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步