ng-view는 라우팅에 의해 교환됩니다. 다음은 경로 및 컨트롤러 코드 중 일부입니다.
var containers = [];
angular.module('AContainer',['ngRoute']).config(
function ($routeProvider){
$routeProvider
.when('/', {
controller: containerListCtrl,
templateUrl: '/closeAndUplift_containerList.html'
});
}
);
function containerListCtrl($scope, $location){
$scope.containers = containers;
}
다음은 div입니다.
<div id='containersDiv' ng-app='AContainer'>
<div ng-view></div>
</div>
여기에는 ng-repeat를 통해 객체 배열을 표시하는 뷰 (closeAndUplift_containerList.html)가로드되었습니다.
<div>
<table>
<thead>
<th>Pallet id</th>
</thead>
<tr ng-repeat='container in containers'>
<td><a href='#/edit/{{container.index}}'>{{container.id}}</a></td>
</tr>
</table>
jquery ajax 콜백으로 인해 변경이 발생하면 문제가 발생합니다. xhr 호출은 별도의 라이브러리에 포함되고 콜백 함수가 전달됩니다. 콜백은 컨테이너 목록을 지우는 것으로 간주됩니다. 콜백은 다음을 실행합니다.
var activeScope = $('#containersDiv').scope();
activeScope.$apply( function(){
activeScope.containers = [];
});
하지만 아무 일도 일어나지 않습니다. 이전 값이 계속 표시됩니다.
편집 : Rishul의 제안에 따라 $ http를 활용하도록 코드를 다시 정렬했습니다. 문제는 해결 방법이지만 내가 사용한 방법이 작동하지 않는 이유에 대한 질문에 실제로 대답하지 않는다는 것입니다. 문제 해결을 위해 자신의 답변을 선택해야하는지 누군가가 언급 할 수 있습니까?
용도 $ HTTP를 이 붙박이 각도 JS 라이브러리는 반응을 얻고에서 소화주기를 실행하기 때문에 아약스 통화를 할 서비스를 당신은 범위 변수를보기 것 또한 변화를 수정한다.
귀하의 경우 jquery 콜백은 $ digest 사이클을 트리거하지 않으므로 뷰가 업데이트되지 않습니다! 작동하는지 확인하십시오
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다