尝试设置Vue Router。不确定我做错了什么。得到错误
Failed to mount component: template or render function not defined. (found in root instance)
同样,我从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>
答案 0 :(得分:5)
假设你有正确的组件,你仍然需要一个小的更新。
将vue路由器作为模块系统加载时,应按以下方式初始化应用程序:
new Vue({
el: '#app',
router,
render: h => h(App)
});