router-link没有生成a标签

我按照vue-router文档上的例子写代码:
html:

<div id="app">
    <p>
        <router-link to="/user/foo">/user/foo</router-link>
        <router-link to="/user/foo/profile">/user/foo/profile</router-link>
        <router-link to="/user/foo/posts">/user/foo/posts</router-link>
    </p>
    <router-view></router-view>
</div>

<script src="../node_modules/vue/dist/vue.min.js"></script>
<script src="../node_modules/vue-router/dist/vue-router.min.js"></script>
<script src="app.js"></script>

app.js:

const User = {template: '<div><p>User {{$route.params.id}}</p><router-view></router-view></div>'}
const UserProfile = { template: '<div>Profile</div>' }
const UserPosts = { template: '<div>Posts</div>' }

const router = new VueRouter({
    routes: [
        {
            path: '/user/:id', component: User,
            children: [
                { path: 'profile', component: UserProfile },
                { path: 'posts', component: UserPosts }
            ]
        }
    ]
})
const app = new Vue({
    router
}).$mount('#app')

但是router-link并没有生成a标签,不知道哪里出错了

clipboard.png

阅读 12.2k
5 个回答

试了一下,完全没问题啊。是不是 Vue 或者 VueRouter 的文件有问题,看看控制台有没有错误信息提示。

https://jsfiddle.net/KingMari...

新手上路,请多包涵

你好~我想请教下 你上次vue-router <router-link>没渲染成是怎么解决的?我vue和vue-router都重新装过了

应该是下面的这部分代码没有执行

const User = {template: '<div><p>User {{$route.params.id}}</p><router-view></router-view></div>'}
const UserProfile = { template: '<div>Profile</div>' }
const UserPosts = { template: '<div>Posts</div>' }

const router = new VueRouter({
    routes: [
        {
            path: '/user/:id', component: User,
            children: [
                { path: 'profile', component: UserProfile },
                { path: 'posts', component: UserPosts }
            ]
        }
    ]
})
const app = new Vue({
    router
}).$mount('#app')

在router-link中添加一个tag="a"的属性

新手上路,请多包涵

同样遇到这个问题

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏