首页  >  问答  >  正文

javascript - vue-router <router-view>中内容没有渲染出来? vue-router的原理是什么?

入门vue-router的时候遇到一个问题。
<router-view> tag 中内容没有渲染出来,查阅了一下vue-router文档,没有搞懂是哪里出的问题.

非常好奇,vue-router的原理是什么?

搜索了一下,这儿有一个相同的问题,但是还没有获得很好的回答。

现象,已经跳转到page的url,但是没有渲染出期望的page内容,期望的页面应该是会出现“This is Page~”一行字:

文档结构:

相关代码:
main.js

import Vue from 'vue'
import VueRouter from 'vue-router'

import App from './App.vue'

Vue.use(VueRouter)

import routers from './router'
const router = new VueRouter({
  mode: 'history',
  routers
})

const app = new Vue({
  router ,
  render: h => h(App)
}).$mount('#app')

App.vue

<template>
  <p id="app">
    <ul>
      <li><router-link to="/home">Home</router-link></li>
      <li><router-link to="/page">Page</router-link></li>
    </ul>

    <router-view></router-view>
  </p>
</template>

<script>
export default {
  data () {
    return {
    }
  }
}
</script>

router.js

import Home from './component/home/index.vue'
import Page from './component/page/index.vue'

const routers = [
  {
    path: '/',
    name: 'home',
    component: Home
  },
  {
    path: '/home',
    name: 'home',
    component: Home
  },
  {
    path: '/page',
    name: 'page',
    component: Page
  },
]

Home/index.vue (Page的代码类似)

<template>
  <h1>This is Home~</h1>
</template>

<script>
export default {
  data () {
    return {
      
    }
  }
}
</script>
天蓬老师天蓬老师2681 天前912

全部回复(1)我来回复

  • 我想大声告诉你

    我想大声告诉你2017-05-19 10:47:56

    那个问题下已经有答案了

    const router = new VueRouter({
    mode: 'history',
    routes
    })

    是 routes 不是 routers

    关于原理可以参考 https://github.com/DDFE/DDFE-... 和 https://github.com/DDFE/DDFE-...

    回复
    0
  • 取消回复