这是我的背景:
main.js创建一个vue并将组件应用程序附加到dom中的一个元素router.js设置路由App.vue有router-view和一些router-link问题:
<router-link to="/admin">Admin1</router-link>运行良好<router-link to="{name: 'admin'}">Admin2</router-link>不工作,并添加到url栏:#/{name: 'admin'}我是不是用错了路由器?下面是我的详细资料
main.js
import Vue from 'vue'
import router from './router'
import App from './App'
new Vue({
router,
el: '#app',
components: { App },
template: '<App/>',
data: {
}
})router.js
import Vue from 'vue'
import Router from 'vue-router'
import HelloWorld from '@/components/HelloWorld'
import Marketplace from '@/components/Marketplace'
import Admin from '@/components/Admin'
Vue.use(Router)
export default new Router({
routes: [
{
path: '/',
name: 'HelloWorld',
component: HelloWorld
},
{
path: '/marketplace',
name: 'marketplace',
component: Marketplace
},
{
path: '/admin',
name: 'admin',
component: Admin
}
]
})App.vue
<template>
<div id="app">
<p>
<router-link to="/">Home</router-link>
<router-link to="/admin">Admin1</router-link>
<router-link to="{name: 'admin'}">Admin2</router-link>
</p>
<router-view/>
</div>
</template>
<script>
export default {
name: 'App'
}
</script>发布于 2018-02-23 10:35:02
为了使您的to="{name: admin}"在不添加char #的情况下工作,在您的路由器配置文件中执行以下操作。
此外,您还应该将v-bind用于to=""。
使用v-bind:to="{name: 'admin'}"或:to="{name: 'admin'}"
示例:
export default new Router({
mode: 'history',
// whatever you have
})https://stackoverflow.com/questions/48945778
复制相似问题