使用vue.js在ajax中获取数据时获取属性未定义

时间:2016-11-10 08:12:16

标签: javascript alert vue.js

当我使用vue.js警告从ajax获取的param时,我有一个未定义的,这是我的代码。

test.json返回:

[
  {isActive: false,name: test}
]

JS:

new Vue({
el: '#viewport',
data: {

    test_data: []
},
mounted: function () {
    this.fetchTestData();
},
methods: {
    fetchTestData: function () {
        $.get(test.json, function (data) {

            this.test_data = data;
            alert(this.test_data.isActive);
        });

    }
}
});

我是vue.js的初学者,希望得到回复,谢谢。

1 个答案:

答案 0 :(得分:1)

如果您从该test.json文件中提取此数据, 首先它需要像那样,因为它不能验证json:

[
  {
    "isActive": false,
    "name": "test"
    }
]

并且您需要使用bind因为this没有引用Vue实例

    fetchTestData: function () {
        $.get('test.json', function (data) {
            this.test_data = data;
            alert(this.test_data[0].isActive);
        }.bind(this));
    }

并访问this.test_data[0].isActive之类的数据,因为它是一个数组