需要一个示例 vue-router (vue 2.x) 用于 Layout.vue 以及其他基于路由的组件
Need an example vue-router (vue 2.x) for a Layout.vue with other route based components
我不知道如何使用 vue-router
和 vue.js 2.x
正确设置
我希望 App.vue 成为一个主站点布局模块,其中包含基本站点级别的内容,例如页脚、徽标、主导航等。
一个基于路由的架构,它将根据此 App.vue
中的路由加载组件
即:/things
显示列表,/things/:id
显示单个项目
我正在使用来自 vue-cli
的 webpack 模板
我对 main.js 和 App.vue 感到困惑,我应该将路线从 main.js 移到 App.vue 吗?
有人可以 link 使用 vue-router 中的布局创建一个简单的 hello world 吗?
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')
我认为这对你有用
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
我错了属性名字:
new Vue({
router,
...App
}).$mount('#app')
这修复了它。我将其导入为 routes
而不是 router
。另一种修复方法是 { router: routes }
,但我将文件重命名为 router
,现在一切正常。
非常感谢@belmin 希望 screenhero 尝试帮助我修复它!
我不知道如何使用 vue-router
和 vue.js 2.x
我希望 App.vue 成为一个主站点布局模块,其中包含基本站点级别的内容,例如页脚、徽标、主导航等。
一个基于路由的架构,它将根据此 App.vue
中的路由加载组件即:/things
显示列表,/things/:id
显示单个项目
我正在使用来自 vue-cli
我对 main.js 和 App.vue 感到困惑,我应该将路线从 main.js 移到 App.vue 吗?
有人可以 link 使用 vue-router 中的布局创建一个简单的 hello world 吗?
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')
我认为这对你有用
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
我错了属性名字:
new Vue({
router,
...App
}).$mount('#app')
这修复了它。我将其导入为 routes
而不是 router
。另一种修复方法是 { router: routes }
,但我将文件重命名为 router
,现在一切正常。
非常感谢@belmin 希望 screenhero 尝试帮助我修复它!