基本 vue.js 2 和 vue-resource http 获取变量赋值

Posted

技术标签:

【中文标题】基本 vue.js 2 和 vue-resource http 获取变量赋值【英文标题】:Basic vue.js 2 and vue-resource http get with variable assignment 【发布时间】:2017-02-25 10:30:28 【问题描述】:

我真的很难让最基本的 REST 功能在 vue.js 2 中工作。

我想从某个端点获取数据并将返回的值分配给我的 Vue 实例的变量。这是我走了多远。

var link = 'https://jsonplaceholder.typicode.com/users';
var users;

Vue.http.get(link).then(function(response)
    users = response.data;
, function(error)
    console.log(error.statusText);
);

new Vue (
    el: '#user-list',
    data: 
        list: users
    
);

在 Promise 中,我可以访问响应数据,但我似乎无法将其分配给用户,甚至无法分配给 Vue 实例的数据。

不用说,我对 vue.js 完全陌生,感谢您的帮助。

堆栈:vue.js 2.03,vue-resource 1.0.3

干杯!

【问题讨论】:

【参考方案1】:

您可以像这样创建一个对象并将其传递给 vue 实例:

var link = 'https://jsonplaceholder.typicode.com/users';
var data =  
    list: null 
;

Vue.http.get(link).then(function(response)
    data.list = response.data;
, function(error)
    console.log(error.statusText);
);

new Vue (
    el: '#app',
    data: data 
);

或者你可以在methods对象下创建一个函数,然后在挂载的函数中调用它:

var link = 'https://jsonplaceholder.typicode.com/users';
new Vue (
    el: '#app',
    data: 
        list: null
    ,
    methods:
        getUsers: function()
            this.$http.get(link).then(function(response)
                this.list = response.data;
            , function(error)
                console.log(error.statusText);
            );
        
    ,
    mounted: function () 
        this.getUsers();
    
);

【讨论】:

非常感谢您的回答,效果很好!但这种行为背后的原因是什么?

以上是关于基本 vue.js 2 和 vue-resource http 获取变量赋值的主要内容,如果未能解决你的问题,请参考以下文章

vue-resource.js的get和post的正确用法

Vue.js + vue-resource + vue-router = 词法声明错误?

vue-resource

Vue-resource和Axios对比以及Vue-axios

vue-resource

Vue.js——vue-resource全攻略