2017-11-24 4 views
0

を更新していない私は、オブジェクトを作成し、配列私のDOMで今は、DOM

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

     $scope.contracts.push(contract); 

     console.log($scope.contracts); 

    } 

にそれをプッシュする方法を持って、私は

(単にデバッグのため)次ています

{{contracts}}

しかし、これは更新されません。コンソールでオブジェクトが配列内にあることを確認します。 モデルが更新されないのはなぜですか? Iすでに$の範囲の様々なアプリケーションを試してみた。$適用されますが、それらはすべて、結果

$apply already in progress 

答えて

1

で何かがあなたのDOMをチェックし、あなたのコードが間違っている必要があります。あなたの機能を呼び出すときに何か起こりますか?相続人の作業例です。

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); 
 
    } 
 
});
<!DOCTYPE html> 
 
<html ng-app="myApp"> 
 

 
    <head> 
 
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.1/angular.js"></script> 
 
    <script src="script.js"></script> 
 
    </head> 
 

 
    <body ng-controller="test"> 
 
    {{contracts}} 
 
    
 
    <button ng-click="addContract()">Add contract</button> 
 
    </body> 
 

 
</html>

+0

私は私がオブジェクトを追加した直後に、配列を削除し、私のコントローラ内のエラーを検出しました。あなたの時間を無駄にして申し訳ありません。答えをありがとう –