参考vue官网编程式导航的
router.push({ path:
/user/${userId}}) // -> /user/123
1.在home.vue文件里,html部分:
//template
<div v-for="(items,indexs) in totalArr" :key="indexs">
<img :src="items.imgUrl" @click="jump('',`${items.type}`)"/>
</div>
2.script里数据部分,通过type判断每个图片要跳转的路由,根据实际情况调整:
<script>
export default {
data() {
return {
totalArr: [{
imgUrl: require('@/assets/img1.png'),
type:'asset',
},
{
imgUrl: require('@/assets/img2.png'),
type:'preAlarm',
},
{
imgUrl: require('@/assets/img3.png'),
type:'factory',
},
{
imgUrl: require('@/assets/img4.png'),
type:'monitor',
},
{
imgUrl: require('@/assets/img5.png'),
type:'target',
},
],
};
},
</script>
3.methods里调用方法:
methods: {
jump(index,type){
if(type=='preAlarm'){
//该路由在router---index.js里已配置
this.$router.push('/catalog');
}else if(type=='factory'){
this.$router.push('/instance');
}
}
},
4.router->index.js里正常写
import home from '@/components/homePage/index.vue'
........
export default new Router({
routes:[ ..... ]
})
本文介绍如何在Vue项目中实现图片点击后的编程式导航。具体包括:在home.vue文件中定义图片数组,并为每张图片指定点击后跳转的目标路由;通过methods中的jump方法根据图片类型动态设置跳转路径;在router配置文件中定义相应路由。

4213

被折叠的 条评论
为什么被折叠?



