我有三个vue组件,分别是goodslist商品主页,goodsdetail01和goodsdetail02商品详情图,我要goodslist在vue.app中显示,实现点击主页goodslist图可以跳转到商品详情页图,不能用路由,用动态组件实现
时间: 2023-06-17 14:07:47 浏览: 88
Vue中通过点击商品信息跳转至更加详细的商品信息页面
好的,你可以在 Vue 的 template 部分将三个组件通过动态组件进行切换。可以在 Vue 实例中定义一个变量 `currentComponent`,用于存储当前组件的名称。然后在 `goodslist` 组件中,通过点击事件来修改 `currentComponent` 变量的值,从而实现组件的动态切换。
例如,你可以这样实现:
```html
<template>
<div>
<button @click="currentComponent = 'goodsdetail01'">查看商品详情01</button>
<button @click="currentComponent = 'goodsdetail02'">查看商品详情02</button>
<component :is="currentComponent"></component>
</div>
</template>
<script>
import GoodsDetail01 from './GoodsDetail01.vue'
import GoodsDetail02 from './GoodsDetail02.vue'
export default {
name: 'GoodsList',
components: {
GoodsDetail01,
GoodsDetail02
},
data() {
return {
currentComponent: 'GoodsDetail01'
}
}
}
</script>
```
这样,当你点击 `查看商品详情01` 按钮时,`currentComponent` 变量就会变成 `GoodsDetail01`,从而渲染出 `GoodsDetail01` 组件。同理,当你点击 `查看商品详情02` 按钮时,`currentComponent` 变量就会变成 `GoodsDetail02`,从而渲染出 `GoodsDetail02` 组件。
阅读全文