2013-09-25 47 views
0

我使用jsonForm從3種不同的json模式生成表單。當提交表單時,請求另一表單等等...所有3表單上的數據創建一個json對象,在填寫完最後一個表單後發回並存儲它。ng-repeat動態插入元素時不更新DOM

表單按預期工作,問題是採用NG-重複更新列表

HTML:

<ul> 
    <li ng-repeat="names in newName">{{names}}</li> 
<ul> 

默認名稱數組:

$scope.newName= ["test1","test2"]; 

初始對象

var set1 = { 
    "setName": "", 
    "setAttributes": [], 
    "setQuestions": [] 

}; 

角:

 $scope.createNewSet = function() { 
      $http.get('/json/schema1.json').success(function(data) { 
       $('#form1').jsonForm({ // DISPLAY FIRST FORM 
       schema: data, 
       "form": [ 
        "*", 
        { 
        "type": "submit", 
        "title": "Proceed to step 2" 
        } 
       ], 
       onSubmit: function (errors, values) { 
        var sName = values.setName; 
        set1.setName = sName; 
        $http.get('/json/schema2.json').success(function(data) { 
         $('#form2').jsonForm({ //DISPLAY SECOND FORM 
         schema: data, 
         "form": [ 
          "*", 
          { 
          "type": "submit", 
          "title": "Proceed to step 3" 
          } 
         ], 
         onSubmit: function (errors, values) { // DISPLAY THIRD FORM 
          set1.setAttributes = values.attributes; 
          $http.get('/json/schema3.json').success(function(data) { 
          $('#form3').jsonForm({ 
           schema: data, 
           "form": [ 
            "*", 
           { 
            "type": "submit", 
            "title": "Proceed to step 4" 
            } 
           ], 
           onSubmit: function (errors, values) { // SAVE COMPLETE SET 
            set1.setQuestions = values.questions; 
            $scope.newName.push(set1.setName); //UPDATE li 
            $scope.newName.push('blah') 
            console.log($scope.newName); 
           }, 
           }); 
          }); 
          }, 

瀏覽器控制檯顯示更新了newName陣列["test1","test2","Simo","blah"]SimoBlah但HTML犯規顯示它們。有沒有東西可以防止更新DOM的角度?

謝謝..

回答

0

嘗試重新應用範圍:

$scope.$apply(function(){ 
    $scope.newName.push(set1.setName); //UPDATE li 
    $scope.newName.push('blah') 
}); 
+0

問題:你也許知道爲什麼它的工作沒有'$範圍$ apply'第一級和第二級。?因爲我在那裏測試它沒有任何問題嗎? –