此.$router.push在electron-vue中不起作用

at0kjp5o  于 2022-12-08  发布在  Electron
关注(0)|答案(2)|浏览(326)

我刚开始工作的电子vue和我设置的vue路由器,但它似乎不工作,它甚至没有显示任何错误。
这是我的代码**:**
main.js

import { createApp } from 'vue'
import App from './App.vue'

import {createRouter, createWebHashHistory, createWebHistory} from "vue-router"
import test from "./components/test";

const router=createRouter({
    history: process.env.IS_ELECTRON ? createWebHashHistory() : createWebHistory(),
    routes:[
        {path:'/test',name:"test",component:test}
    ]
})

const vue=createApp(App)
vue.use(router)
vue.mount('#app')

应用程序版本**:**

<template>
  <img alt="Vue logo" src="./assets/logo.png">
  <HelloWorld msg="Welcome to Your Vue.js App"/>
  <button @click="click">test</button>
</template>

<script>
import HelloWorld from './components/HelloWorld.vue'


import {getAuth, signInWithEmailAndPassword} from "firebase/auth"
export default {
  name: 'App',
  components: {
    HelloWorld
  },
  methods:{
    click(){
      console.log(`2`)
      this.$router.push("/test/")
    }
  }
}
</script>

组件/测试版本**:**

<template>
  <div></div>
</template>

<script>
export default {
  name: "test"
}
</script>

<style scoped>

</style>

我还没有接触其他文件,如background.js,我认为这与问题无关。

yk9xbfzb

yk9xbfzb1#

如果Vue路由器找不到路由,它就无法重定向。这时您可以看到控制台错误。但我建议您使用路由名称而不是路由路径。因此,

this.$router.push({name: 'test'});

这是有用的。因为有一天你的网址可能会改变

dvtswwa3

dvtswwa32#

我忘记在App.vue文件中添加<router-view>

<template>
  <img alt="Vue logo" src="./assets/logo.png">
  <HelloWorld msg="Welcome to Your Vue.js App"/>
  <router-view></router-view>
  <button @click="click">test</button>
</template>

<script>
  import HelloWorld from './components/HelloWorld.vue'
  import {getAuth, signInWithEmailAndPassword} from "firebase/auth"
  export default {
    name: 'App',
    components: {
      HelloWorld
    },
    methods:{
      click(){
        console.log(`2`)
        this.$router.push("/test/")
      }
    }
  }
</script>

相关问题