2016-09-02 7 views
0

名前がF1、F2、F3、F4のオブジェクトのリストを受信しました サーバーにコールするとF1、F2、F3、F5、F4の新しいリストが表示されます 私はNGリピートリストをapdate:フォルダーのng-repeatリストが間違って更新された場合

vm.folders = data.content.items; 

それは次のリストを示していますF1、F2、F3、F4、F4 私は間違っていますか?ここに私のhtmlコードは次のとおりです。

<div ng-repeat="folder in vm.folders track by $index" ng-init="openInput=false;"> 
    <div layout="row" ng-init="folderName = vm.getIterationName(folder.metadata)" > 
     <div > 
     </div> 
     <div > 
      <span ng-click="showChildren[$index]=!showChildren[$index]" class="capitalize" ng-dblclick="openInput = true;$event.stopPropagation();" ng-show="!openInput">{{folderName}}</span> 

     </div> 
    </div> 
</div> 

jsの更新方法:

function updateIterations(data) { 
     if (data.ok === true) { 
      if(angular.toJson(vm.folders) != angular.toJson(data.content.items)) { 

       vm.folders = data.content.items; 

      } 
     } else if (data.ok == false) { 
      console.log ('Error:iteration request: {ok: false}'); 
      $interval.cancel(intervalRequests); 
     } 
    } 
+0

はあなたがangular.copy 'で試すことができます(data.content.items、vm.folders)'の代わりに ' vm.folders = data.content.items; '? – gianlucatursi

+0

'angular.toJson(vm.folders)!= angular.toJson(data.content.items)'は動作しません。 – dfsq

+0

とangular.copy(data.content.items、vm.folders) - 同じ問題 – Serhiy

答えて

0

が固定します!代わりに{{フォルダ名}}私が使用したの

<span ng-click="showChildren[$index]=!showChildren[$index]" class="capitalize" ng-dblclick="openInput = true;$event.stopPropagation();" ng-show="!openInput">{{folderName}}</span> 

で :

<span ng-click="showChildren[$index]=!showChildren[$index]" class="capitalize" ng-dblclick="openInput = true;$event.stopPropagation();" ng-show="!openInput">{{vm.getIterationName(folder.metadata)}}</span> 
関連する問題