2016-06-28 11 views
0

1つのコントローラで実行されるアクションに基づいて2つのコントローラがあるため、もう一方のコントローラのデータを更新する必要があります。 これは私のコードであるコントローラの変更がビューに反映されない

コントローラ1

$rootScope.$broadcast('PackageIns', $scope.pkgtoLoad); 

コントローラ2

$rootScope.$on('PackageIns', function (event, args) { 
     vm.order.Lines = args; 
     console.log(vm.order.Lines) 
    }) 

vm.order.Linesはobjects.The問題の配列vm.order.Linesが更新取得された配列であるが、図では反射されませんそれ。 しかし、私はこのようなコードを入れてvm.order.Lines= [];、ビューが反映され、ビューはすべての行をクリアされます。

編集

ビューのレンダリングのためのディレクティブを使用して

<tbody tp-order-line ng-repeat="orderLine in vm.order.Lines track by vm.itemTracker(Line)" lineitem="Line"> 

イム。 ディレクティブ内で使用されるテンプレートは

<td>{{vm.orderLine.Name}}</td> 
<td>{{vm.orderLine.Description}}</td> 
+0

のために働いていたあなたは引数の種類が何であるか確認することができます追加することがわかった修正ですか? –

+0

Argsはオブジェクトの配列です。 –

+0

ビューのコードを表示してください。 –

答えて

0

は、私はtimeout.Thisが私

vm.order.Lines = []; 
    $timeout(function() { 
    vm.order.Lines = args; 
    }, 100); 
関連する問題