我无法弄清楚如何使用vue-router
与vue.js 2.x
我希望App.vue成为一个主要的网站布局模块,其中包含基本的网站级别内容,如页脚,徽标,主导航等。
基于路由的体系结构,它将根据此App.vue中的路由加载组件
ie:/things
显示列表,/things/:id
显示单个项目
我正在使用vue-cli
我对main.js和App.vue感到困惑,我应该将这些路线从main.js移到App.vue吗?
有人可以使用vue-router中的布局链接到简单的hello世界吗?
import Vue from 'vue'
import App from './App'
import Items from './components/Items'
import Item from './components/Item'
import Axios from 'axios'
import VueRouter from 'vue-router'
Vue.use(VueRouter)
Vue.prototype.$http = Axios
const routers = new VueRouter([
{ path: '/items/:id', component: Item },
{ path: '/', component: Items }
])
// how to specify App.vue as a layout?
new Vue({
routes
}).$mount('#app')
答案 0 :(得分:1)
我认为这应该对你有用
const app = new Vue({
router,
render: (h) => h(App)
}).$mount('#app')
或传播运营商
const app = new Vue({
router,
...App
}).$mount('#app')
正如我在评论中提到的那样,看看我创建的回购https://github.com/bedakb/vuewp/tree/master/public/app/themes/vuewp/app
答案 1 :(得分:1)
我的财产名称错误:
new Vue({
router,
...App
}).$mount('#app')
这解决了它。我已将其导入为routes
而不是router
。另一种解决方法是{ router: routes }
,但我将文件重命名为router
,现在一切正常。
非常感谢@belmin希望在屏幕上试图帮我修复它!