2016-06-28 2 views
0

한 컨트롤러에서 취한 조치를 기반으로 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); 
관련 문제