javascript - 如何在 Vue.js 中传递动态页面 :id to $http. 获取 url

标签 javascript jquery ajax vue.js

我已经设置了 View 路由器:

router.map({
    '/tracks/:id': {
        component: SingleTrack
    }
})

这是我的组件(使用硬编码 URL):

var SingleTrack = Vue.component('track', {

    template: '#track-template',

    data: function() {
        return {
            track: ''
        }
    },

    ready: function() {
        this.$http.get('//api.trax.dev/tracks/1', function (data) {
            this.$set('track', data.track)
        })
    }
});

我如何将 url/:id 传递到 $http.get 字符串的末尾,这样我就可以在加载该路由时动态获取正确的数据,例如:

ready: function(id) {
    this.$http.get('//api.trax.dev/tracks/' + id, function (data) {
        this.$set('track', data.track)
    })
}

最佳答案

您应该能够从组件 $route 属性中获取路由参数:

var itemId = this.$route.params.id;
this.$http.get('//api.trax.dev/tracks/' + itemId, function (data) {
    this.$set('track', data.track)
})

vue.js router documentation 中查看更多详细信息

关于javascript - 如何在 Vue.js 中传递动态页面 :id to $http. 获取 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34070580/

相关文章:

javascript - 在 SPRING MVC 和 JSP 环境中使用 jquery 和 ajax 呈现表的复选框

javascript - 在 Javascript 中存储以下内容的最佳方式是什么?

javascript - 我需要使用 jquery 让一个对象向左浮动,同时在 div 内淡出

javascript - 在 IE 7/8 中使用 alt + shift + a 作为热键

jquery - jQuery 的小写和大写

javascript - jQuery - 单击时从 div 获取数据

javascript - 使用 angular.js 将值传递给 <input>

JQuery:检查元素是否对用户隐藏

javascript - 下载二进制文件而不触发 onbeforeunload

javascript - CodeIgniter Javascript 表单提交