簡體   English   中英

vue-router 應該在點擊時路由,不工作

[英]vue-router should route on click, not working

我正在嘗試創建導航以及當有人點擊時。 它應該導航到另一個 Vue.component。

注意:這個應用程序是基於 Electron+Vue 的,但它應該像普通的 Vue 項目一樣工作,因為我在其他 Electron+Vue 項目中也嘗試過相同的概念。

由於路由器錯誤,現在它沒有顯示任何內容。 我錯過了什么嗎?

屏幕截圖中的錯誤顯示如下

====================================

----HelloWorld.vue-----

<template>
   <div class="collapse navbar-collapse nav-item-outer" id="navbarNav">
     <ul class="nav navbar-nav nav-list">
        <li class="nav-item active" @click="navigate('information')">
          <span class="nav-item-icon nav-item-icon-info"></span>
                <span class="nav-item-title">Info</span>
        </li>
        <li class="nav-item" @click="navigate('map')">
          <span class="nav-item-icon nav-item-icon-location"></span>
                <span class="nav-item-title">Location</span>
        </li>
        <li class="nav-item" @click="navigate('videocontent')">
          <span class="nav-item-icon nav-item-icon-video"></span>
                <span class="nav-item-title">Video</span>
        </li>
        <li class="nav-item" @click="navigate('surfstation')">
          <span class="nav-item-icon nav-item-icon-surf"></span>
                <span class="nav-item-title">Surf</span>
        </li>
        <li class="nav-item" @click="navigate('telephone')">
          <span class="nav-item-icon nav-item-icon-telephone"></span>
                <span class="nav-item-title">Telefon</span>
        </li>
            <li class="nav-item" @click="navigate('/')">
                <span class="nav-item-icon nav-item-icon-home"></span>
                <span class="nav-item-title">Home</span>
            </li>
      </ul>
    </div>
</template>
<script>
  export default {
    name: 'HelloWorld',
    methods: { 
      navigate(route) {
          this.$router.push(route)                
      },
    }
  }
</script>

==================================================== =

----main.js--------

import Vue from 'vue'
import App from './App.vue'
import VueRouter from 'vue-router'

 Vue.config.productionTip = false
Vue.use(VueRouter)




export default new VueRouter({
  routes: [
   {
     path: '/',
     name: 'dashboard',

     component: require('@/views/Dashboard').default
  },
  {
    path: '/information',
    name: 'information',

    component: require('@/views/Information').default
  },
  {
    path: '/map',
    name: 'map',

    component: require('@/views/Map').default
  },
 {
    path: '/surfstation',
    name: 'surfstation',

    component: require('@/views/Surfstation').default
  },
  {
    path: '/telephone',
    name: 'telephone',

    component: require('@/views/Telephone').default
  },
  {
    path: '/videocontent',
    name: 'videocontent',

     component: require('@/views/VideoContent').default
  },
  {
    path: '*',
    redirect: '/'
  }
  ]
})



new Vue({
    render: function (h) { return h(App) },
}).$mount('#app')

==================================================== ===

----App.vue-----

<template>
  <div id="app">

   <HelloWorld msg="Welcome to Your Vue.js App"/>
       <main>
         <router-view></router-view>
       </main>
     </div>
  </template>

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

     export default {
      name: 'App',
      components: {
        HelloWorld
      }
    }
 </script>

幫助將不勝感激。

不要導出路由器,而是放入一個 const 並在new Vue({

main.js

const router = new VueRouter({
  routes: [
    ...
  ],
  // Prevent white screen on reload (in production build)
  mode: process.env.IS_ELECTRON ? 'hash' : 'history'
})


new Vue({
  router,
  render: h => h(App),
  mounted () {
    // Prevent white screen when the app is launched (in production build)
    this.$router.push('/').catch(error => { })
  }
}).$mount('#app')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM