【问题标题】:Vue.js is corrupting data when setting an arrayVue.js 在设置数组时损坏数据
【发布时间】:2016-09-21 19:37:00
【问题描述】:

所以我从控制器收到了 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) 显示正确的数据,但如果我删除// - 一切都会崩溃:控制台日志和数组本身的日期都将变得不正确。

这是什么问题,如何解决?我将非常感谢任何可能的帮助!

【问题讨论】:

    标签: javascript arrays json vue.js


    【解决方案1】:

    试试这个:

    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);                  
    },   
    

    【讨论】:

      猜你喜欢
      • 2018-06-29
      • 1970-01-01
      • 2012-10-24
      • 1970-01-01
      • 2021-02-01
      • 2017-09-14
      • 1970-01-01
      • 2017-12-29
      • 2018-05-24
      相关资源
      最近更新 更多