vue 路由发生了跳转但是界面没有任何反应
vue 路由发生了跳转但是界面没有任何反应,可能会父组件中<router-view></router-view>位置放的不合适。今天做案列遇到一个问题,足足花了一个下午才解决了问题,但是终究的原因还是有些不理解项目中我要从一级歌单列表页面跳转到歌单详情页面,用到的是子路由。export default new Router({routes: [{path: '/recomm
vue 路由发生了跳转但是界面没有任何反应,可能会父组件中<router-view></router-view>位置放的不合适。
今天做案列遇到一个问题,足足花了一个下午才解决了问题,但是终究的原因还是有些不理解
项目中我要从一级歌单列表页面跳转到歌单详情页面,用到的是子路由。
export default new Router({
routes: [
{
path: '/recommend',
name:'Recommend',
component: Recommend,
children:[
{
path:':id',
component: RecommendDetail
}
]
}
]
})
给父组件 recommend 列表页面的每个<li >绑定点击事件
<li @click="selectItem(item)" class="item" v-for="item in recommendList" :key="item.id">
定义点击函数
methods:{
selectItem(item){
this.$router.push({
path:`/recommend/${item.id}`
})
}
}
在 父组件 recommend 中合适的位置设置 <router-view></router-view> 这一步一定要设置。
以上都没问题,诶 接下来郁闷的事情就发生了。
我以为点击 li 标签之后页面会跳到路由指定了 组件,recommend_detial。 实际上路由确实是发生了跳转。但是界面没有反应。这就有点奇怪了。
思考一下,界面即使不单独显示路由对应的组件,那也应该在 父元素指定的 <router-view></router-view> 区域显示呀,不是么?
然而没有呀
但是 dom 里面又存在 但是显示不出来,啥意思?
然后通过给 该dom 设置css ,又能单独显示一个新的页面了。这个根据样式来的也好理解。好奇难道vue中新界面是通过css来辅助设计的?
.test{
position: fixed;
z-index: 100;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-color: #F2F3F4;
}
以上目的总算达成了。但是还是有些想不通呀 为什么在父组件给定的<router-view></router-view>的区域没有显示出来。尝试将<router-view></router-view>在父组件中换一个位置。并将刚才设置的css去掉。
当当当当 有了
原来是设置的 加载动画组件的干扰。
更多推荐
所有评论(0)