设置数组时,Vue.js正在破坏数据

时间:2016-05-24 14:10:33

标签: javascript arrays json vue.js

所以我从我的控制器获得了json响应,看起来很像:

return Plan::find($request->id)->toJson();

当我将接收的数据设置到vue数组中时,某些数据会被破坏,日期会随机更改(例如,开始日期和结束日期变得相同,但网络响应是正确的)。

我发现问题出在我用来控制数据的vue.js上。现在,获取数据的vue方法如下所示:

updatePlan: function(id) {
    var json;
    $.getJSON('{{action("Controller@getJSON")}}',{id}).success(function(data) {
    {plan: id}).success(function(data) {
        json=data;
        animatedOpenModal('edit-button','editPlanModal');                       
    });
    setTimeout(function(){
        console.log(json);
        //vm.setPlan(json);
    },100);
},

,评论的方法是

setPlan: function(json) {
    vm.$set('current_edit_plan', json);
    console.log(vm.current_edit_plan);                  
},

现在console.log(json)显示正确的数据,但如果我删除// - 一切都将崩溃:日期将在控制台日志和数组本身中变得不正确。

这是什么以及如何解决?我非常感谢任何可能的帮助!

1 个答案:

答案 0 :(得分:0)

试试这个:

updatePlan: function(id) {
    var self = this;
    var json;
    $.getJSON('{{action("Controller@getJSON")}}',{id}).success(function(data) {
    {plan: id}).success(function(data) {
        json = data;
        animatedOpenModal('edit-button','editPlanModal');                       
    });
    setTimeout(function(){
        console.log(json);
        self.setPlan(json);
    },100);
},

然后是您的setPlan方法:

setPlan: function(json) {
    this.current_edit_plan = json;
    console.log(this.current_edit_plan);                  
},