开发者问题收集

Vue 路由器错误

2016-10-13
6800

尝试设置 Vue Router。不确定我做错了什么。收到错误

无法挂载组件:未定义模板或渲染函数。(在根实例中找到)

同样,我从 React 转到 Vue,虽然它们非常相似,但仍有一些小的不同,并且目前还没有那么多 Vue 资源。

我正在使用 Webpack 模板和单文件组件。有一件事我没有完全理解,那就是文档中的这部分

// 1. Define route components.
// These can be imported from other files
const Foo = { template: '<div>foo</div>' }
const Bar = { template: '<div>bar</div>' }

这和我做 import Foo from 'path/to/component/ 一样吗?

无论如何,感谢您的所有帮助!

这是我的 main.js 文件

import Vue from 'vue'
import App from './App'
import QuizBuilder from '../src/components/QuizBuilder.vue'
import ResourceInfo from '../src/components/ResourceInfo.vue'

import VueRouter from 'vue-router'

Vue.use(VueRouter)

const routes = [
  { path: '/info', component: ResourceInfo },
  { path: '/quiz-builder', component: QuizBuilder }
]

const router = new VueRouter({
  routes
})

const app = new Vue({
  router
}).$mount('#app')

我的 index.html 看起来像这样

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
    <title>Digestible</title>
  </head>
  <body>
    <div id="app">
        <router-view></router-view>
    </div>
    <!-- built files will be auto injected -->
  </body>
</html>
1个回答

假设您已正确拥有组件,您仍然需要进行小幅更新。

当将 vue 路由器作为模块系统加载时,应使用以下方式初始化应用程序:

new Vue({
   el: '#app',
   router,
   render: h => h(App)
});
ragnar
2016-10-14