다른 컨트롤러간에 공유 할 특정 객체를 저장하는 서비스가 있습니다. 이 경우 다음 코드가 있습니다서비스 초기화 후 객체가 null이됩니다.
$rootScope.$on('controller.event', function(event, arg){
self.backendConnectorService.getBackendObject('99901').then(function(object){
if(object) {
self.myService.selectDeselectObject(object);
console.log(self.myService.getCurrentObject());
$state.go('myApp.mainArea.appsArea.objects.wizards');
}
});
개체가있을 때 개체를 초기화해야하는 상태로 이동합니다. 문제는 해당 상태에 대한 컨트롤러를로드 할 때 내가 수행 할 때 self.myService.getCurrentObject()
이 null을 반환한다는 것입니다. 위 코드에서 console.log
을 실행하면 올바른 객체를 얻게됩니다. 왜 이런거야? 나는 서비스가 싱글 톤이라고 생각했다.
이전 상태에 따라 다른 개체를 해결할 수 있습니까? 나는 상태 A에서 B로 이동하면 ObjectTypeA가 필요하며 상태 C에서 B로 이동하면 ObjectTypeB가 필요합니까? – acostela
당신이 원한다면, 당신이 원하는대로 객체를 해석 할 수 있습니다. – rrd