javascript - 在历史模式下从子路由刷新时组件被挂载两次
问题描述
我在历史模式下使用 vue-router。当我在子路由“/dashboard”上并刷新页面时,<ccp/>
组件被安装了两次。在 ccp 组件中,我是控制台登录 created 和 mount 的钩子。我看到每个控制台输出两次。有什么想法吗?提前感谢您的关注!
编辑:在初始应用程序加载时,<ccp/>
仅创建和安装一次。
这是代码:
应用程序.vue:
<template>
<div v-show="isConnected">
<ccp/>
<router-view/>
</div>
</template>
<script>
// blah blah blah - doing stuff and then pushing route to /dashboard
return this.$router.push({name: "dashboard"});
</script>
路由器.js
export default new Router({
mode: "history",
routes: [
// DEFAULT ROUTE
{
path: "/",
name: "root",
alias: store.getters.isDemoMode ? "/demo" : "/app" // isDemoMode is false for this test however I wanted to show the alias config in case that is part of the problem.
},
{
path: "/demo",
name: "demo",
component: Demo
},
{
path: "/app",
name: "app",
component: App,
children: [
{
path: "/dashboard",
name: "dashboard",
component: Dashboard
}
]
}
})
解决方案
由于 App 组件也是您的路线的一部分,因此可能会安装两次。您命名"app"
的路线再次挂载 App。
推荐阅读
- c# - 如何直接打开Outlook文件附件而不保存?(使用 C# VSTO)
- xamarin.forms - 看不到使用“libvlcsharp”的视频播放器控件
- cmake - 尝试使用 CMake 时出现大量错误行?
- python - 我试图理解python中的嵌套函数
- git - Git推送来源
不反映最新推送 - python - 如何从用户那里获取多个(大量)输入并在用户提供的每个输入中重复代码?(Python)
- mysql - 识别 bamount 高于 bamount 总和的目的地
- java - 如何在 Java 中使用 Regex 删除
- python - 标记文本数据的预处理
- html - 水平对齐大文本和小文本