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

查看:196
本文介绍了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>
  <div 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>
  </div>
</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>

解决方案

那个问题下已经有答案了

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

是 routes 不是 routers

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

这篇关于javascript - vue-router &lt;router-view&gt;中内容没有渲染出来? vue-router的原理是什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆