Vue.js路由路径中的参数前缀

时间:2016-05-31 05:48:20

标签: javascript routes vue.js vue-router

TL; DR:

在Vue.js vue-router中,我们如何才能使路线param立即跟随非/字符并仍然得到解决?

-

说明

我想要一些网址:

example.com/_myuser
example.com/_otheruser

在Flask中,可以通过以下方式完成:

@app.route('/_<username>')
def user_page(username):
    pass

print(url_for('user_page', username='myuser'))
# example.com/_myuser

但我找不到在vue-router中完成这项工作的方法。当我尝试:

router.map({
    '/_:username': {
        name: 'user-page',
        component: User
    }
})

username param根本不会解决(也不会在模板中解析,也不会在浏览器的地址栏中输入):

<a v-link="{ name: 'user-page', params: { username: 'myUser' } }">Hello</a>

expected      <a href="/_myUser">Hello</a>
result        <a href="/_:username">Hello</a>

2 个答案:

答案 0 :(得分:1)

在vue 1. *这是不可能的,但在2.0中,这可以通过使用/(@):username来完成。

答案 1 :(得分:0)

更新:vue-router今天无法满足我的要求。

请参阅https://github.com/vuejs/vue-router/issues/499了解相关的GitHub问题,以及实现此功能的可能方法。