从 vue-router 的链接中获取 'id' 值

Posted

技术标签:

【中文标题】从 vue-router 的链接中获取 \'id\' 值【英文标题】:Get 'id' value from vue-router's link从 vue-router 的链接中获取 'id' 值 【发布时间】:2016-05-24 14:47:51 【问题描述】:

如何从 vue-router 的链接中获取对象值? 例如此链接中的“id” http://laravel.dev/#!/messages/1703

因此,我可以使用该 id 从数据库中获取特定数据。

我的代码

var detailMessage = Vue.extend(
template: '#detailMessage',
data: function() 
    return 
        id: ''
    
,
ready: function(id) 
    this.getID(id);
,
methods: 
    getID: function(id) 
    this.$http.get('/api/messages/' + id, function(data) 
        alert(data);
            )
        
    
)


var router = new VueRouter()
router.map(
'/api/messages/:idMessage': 
    name: 'sentMessage',
    component: detailMessage
    
)

抱歉,错误是点击链接、查看和 url 更改但发送到服务器的内容是 http://laravel.dev/api/messages/undefined

这里是错误截图

谢谢

【问题讨论】:

我没有看到“?”在这个“问题”中。 【参考方案1】:
router.map(
'/api/messages/:message_id': 
    name: 'sentMessage',
    component: detailMessage
    
)

然后您可以使用this.$route.params.message_id 访问虚拟机中的任何位置

【讨论】:

如果路由是由router.push添加的呢? 没关系,本站解释清楚:router.vuejs.org/guide/essentials/navigation.html

以上是关于从 vue-router 的链接中获取 'id' 值的主要内容,如果未能解决你的问题,请参考以下文章

如何在 vuex 商店中使用 vue-resource ($http) 和 vue-router ($route)?

有没有办法使用 Vue-Router 从动态 URL 中删除目录?

vue 组件无法从 vue-router 获取 this.$router

vue-router 利用url传递参数

vue-router 动态导航 router-link :to属性

无法使用 Vue-Router 获取 URL 中的参数