중첩 된보기간에 데이터를 전달하는 것은 다른 두보기간에 데이터를 전달하는 것과 다를 바 없습니다. 구축 할 두 가지 기본 시나리오가 있습니다. 이러한 뷰가 동일한 컨트롤러를 사용하는 경우 문제는 전혀 문제가되지 않으며 동일한 뷰를 두 뷰에 모두 전달할 수 있습니다. 보기가 다른 컨트롤러를 사용하는 경우 실제로 문제는보기에 관계없이 두 컨트롤러간에 데이터를 전달하는 방법입니다.
두 개 이상의 컨트롤러간에 데이터를 전달하는 것은 팩토리와 같은 공급자에 데이터를 저장 한 다음 데이터에 액세스해야하는 것보다 각 컨트롤러에 대한 종속성으로 해당 팩토리를 포함시켜 쉽게 수행 할 수 있습니다. 여기
간단한 예이다
보기 1 (경로 congif 통해 CTRL1을 할당)
<div>
<h1>View 2</h1>
<p>{{data.value}}</p>
</div>
컨트롤러 1
myApp.controller('Ctrl1', ['$scope', 'myFactory', function($scope, myFactory){
$scope.data = myFactory.data;
}]);
보기 2 (할당 CTRL2 경로 congif를 통해)
<div>
<h1>View 2</h1>
<p>{{data.value}}</p>
</div>
컨트롤러 2
myApp.controller('Ctrl2', ['$scope', 'myFactory', function($scope, myFactory){
$scope.data = myFactory.data;
}]);
그리고 마지막으로 당신의 공장
myApp.factory('myFactory', function(){
return {
data: {
value: 'some data'
}
}
});
사용하는 공장이나 서비스 –