AngularJS에서 컨트롤러 간 데이터 공유는 특히 다단계가 포함된 복잡한 애플리케이션에서 매우 중요할 수 있습니다. 한 단계에서 입력한 데이터를 후속 단계에서 사용해야 하는 양식입니다. 이 기사에서는 컨트롤러 간에 데이터를 공유하는 다양한 방법을 살펴봅니다.
AngularJS를 사용하면 객체를 반환하는 팩토리를 만들 수 있습니다. 컨트롤러 간에 이러한 개체를 공유하면 데이터 동기화가 가능해집니다. 다음 예를 고려해보세요.
<br>// Factory<br>myApp.factory('Data', function() {<br> return { Field: '' };<br> });</p> <p>// 컨트롤러<br>myApp.controller('FirstCtrl', function($scope, 데이터) {<br> $scope.Alpha = 데이터;<br>});</p> <p>myApp.controller('SecondCtrl', function($scope, Data) {<br> $scope.Beta = 데이터 ;<br>});<br>
이 경우에는 둘 다 FirstCtrl과 SecondCtrl은 동일한 Data 객체를 공유하므로 Field 속성에 액세스하고 수정할 수 있습니다.
더 세부적인 제어 , AngularJS는 팩토리를 통해 getter 및 setter를 정의하는 방법을 제공합니다. 이 메소드는 데이터 액세스 및 업데이트를 위한 제한된 인터페이스를 제공합니다.
<br>myApp.factory('Data', function () {<br> var data = { FirstName: '' }; </p> <p>반환 {</p> <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">getFirstName: function() { return data.FirstName; }, setFirstName: function(firstName) { data.FirstName = firstName; }
};
});
// 컨트롤러
myApp.controller('FirstCtrl', function($scope, Data) {
$ scope.$watch('firstName', function(newValue) { Data.setFirstName(newValue); });
});
myApp.controller('SecondCtrl', function($scope, Data) {
$scope.$watch(function() { return Data.getFirstName() ; }, function(newValue) { $scope.firstName = newValue; });
});
여기서 팩토리는 getter 및 setter를 사용하여 FirstName 속성에 대한 액세스를 제어하므로 컨트롤러가 속성에 대한 변경 사항을 설정하고 관찰할 수 있습니다. .
데이터 공유 컨트롤러 간의 상호 작용은 대화형 및 동적 AngularJS 애플리케이션을 구축하는 데 필수적입니다. 이 문서에 설명된 방법은 데이터 동기화를 위한 강력하고 사용자 정의 가능한 솔루션을 제공하여 컨트롤러가 복잡한 데이터 흐름을 협업하고 효율적으로 관리할 수 있도록 합니다.
위 내용은 AngularJS 컨트롤러 간에 데이터를 어떻게 공유할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!