将对象添加到模型中,不会更新dom

时间:2017-11-24 11:00:31

标签: angularjs

我有一个创建对象并将其推送到数组的方法

$scope.contracts = [];
$scope.addContract = function () {
        var contract = {
            ...
        }

        $scope.contracts.push(contract);

        console.log($scope.contracts);

    }

现在在我的DOM中,我有以下内容(仅用于调试)

{{contracts}}

但这并没有更新。我在控制台中验证对象是否在数组中。 为什么模型不更新? 我已经尝试了$ scope的各种应用程序。$ apply,但它们都会产生

$apply already in progress

1 个答案:

答案 0 :(得分:1)

您的代码必须出错,请检查您的DOM。当你打电话给你的功能时有什么事吗?赫雷斯是一个有效的例子:



var value1 = [];  
$.each($('.form-control_1'), function() {
    var total_stock;
    var total_stock = this.id;
    //console.log(total_stock);
    value1.push(document.getElementById(total_stock).value)
    console.log(value1);
});

console.log('starting ajax');

$.ajax({
    url: "insert_inventory.php",
    type: "post",
    data: { value1: value1 },
    success: function (data) {
        var dataParsed = JSON.parse(data);
        console.log(dataParsed);
    }
});

var app = angular.module("myApp",[]);

app.controller("test", function($scope){
  $scope.contracts = [];
  $scope.addContract = function () {
  var contract = {
      "con":"tract"
  }
  $scope.contracts.push(contract);
  
  console.log($scope.contracts);
  }
});