- 21
- 0
利用 this.$router.push({path: '/profile/recharge'}); 跳转到
/profile/recharge 发现浏览器地址变了,但页面还是原来的页面。
文件的路径都没有问题,在 profile.vue 上触发点击事件时,自定义的 click 方法执行了。但页面没跳转。能不能是页面跳转过去又跳转回来了? 但 recharge.vue 里的初始化方法没执行。不知道我理解的是否正确。 还请 老司机 帮忙看看,非常感谢。
router.js
import App from '../App.vue';
const home = () => import(/* webpackChunkName: "home" */'../page/home/home.vue');
const profile = () => import(/* webpackChunkName: "profile" */ '../page/profile/profile.vue');
const recharge = () => import(/* webpackChunkName: "recharge" */ '../page/profile/children/recharge.vue');
export default [{
path: '/',
component: App,
children: [{
path: '',
redirect: '/home'
},{
path: '/home',
component: home
},{
path: '/profile',
component: profile,
children: [{
path: 'recharge',
component: recharge
}]
}]
}]
App.vue
<template>
<div>
<transition name="router-fade" mode="out-in">
<keep-alive>
<router-view v-if="$route.meta.keepAlive"></router-view>
</keep-alive>
</transition>
<transition name="router-fade" mode="out-in">
<router-view v-if="!$route.meta.keepAlive"></router-view>
</transition>
</div>
</template>
<script type="text/babel">
export default {
data(){
return {
}
}
}
</script>
<style>
.router-fade-enter-active, .router-fade-leave-active {
transition: opacity .3s;
}
.router-fade-enter, .router-fade-leave-active {
opacity: 0;
}
</style>
profile.vue
<template>
<div>
<header-top />
<section>
<section class="profile-number">
<van-button size="large" @click="rechargePage">RECHARGE</van-button>
</section>
<section class="profile-list-group">
<van-cell-group>
<van-cell title="常见问题" icon="records" is-link />
</van-cell-group>
</section>
</section>
<footer-guide />
</div>
</template>
<script type="text/babel">
import HeaderTop from '../../components/header.vue';
import FooterGuide from '../../components/footer.vue';
export default {
data(){
return {
}
},
components: {
HeaderTop,
FooterGuide
},
methods: {
rechargePage(){
console.log('click');
console.log(this.$router);
this.$router.push({path: '/profile/recharge'});
}
}
}
</script>
recharge.vue
<template>
<div>
<header-top />
<section>
<section >
lalala
</section>
</section>
<footer-guide />
</div>
</template>
<script type="text/babel">
import HeaderTop from '../../../components/header.vue';
import FooterGuide from '../../../components/footer.vue';
export default {
data(){
return {
}
},
created(){
alert('ok');
},
components: {
HeaderTop,
FooterGuide
}
}
</script>
- 共 0 条
- 全部回答
-
斑点熊猫 普通会员 1楼
在 Vue 中,当用户在页面上点击某个链接时,通常需要执行一些额外的操作(如跳转到另一个页面、加载新的数据等)。然而,有时候用户可能不会点击任何链接,而是通过一个特定的事件(如点击
锚点、前进/后退等)来导航。如果你遇到一个问题,即使你在路由页面上没有执行任何额外的操作,但是用户仍然不跳转,那么这可能是由于以下原因:
-
没有正确的路由配置:你可能需要检查你的路由配置,确保它包含了所有需要跳转的页面和正确的导航链接。同时,确保你在组件的
beforeDestroy钩子中关闭了路由,以防止路由被再次激活。 -
没有使用
router.push或router.replace:这些方法用于在当前页面上直接导航到另一个页面,而不是触发路由跳转。如果你没有使用这些方法,那么用户可能会被意外地导航到一个页面。 -
没有监听
router.push或router.replace:你需要在组件的created钩子中初始化这些方法,以便它们可以在路由发生改变时被触发。 -
配置错误:你可能需要检查你的路由配置,确保它正确地定义了路径和模式。同时,确保你在路由之间添加了正确的分页逻辑,以便用户能够看到页面的滚动条。
如果你能提供更多的代码和详细信息,我会更好地帮助你解决问题。
-
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
