Acessar o scope do controller dentro de um serviço no Angular

06/12/2016

0

Oi pessoal, tudo bem?

Estou com um problema porque tenho um serviço e preciso mudar um texto dentro do scope criado no controller a partir desse serviço. Podem me ajudar? Segue abaixo um pedaço do código

module.service('messager', function(){
    $scope.message = "Hello World";
});

module.controller('HomeCtrl', function($scope){
    $scope.message = "";
});
Lara

Lara

Responder

Post mais votado

19/12/2016

Opa Lara, tudo bem?

Você não pode acessar o $scope de dentro do serviço, porque $scope um objeto criado quando o controller é criado, tudo bem? Mas nem tudo está perdido! Você pode acessar esse objeto através de uma referência

module.factory("messager", [function( ){

	return {
		say : function(scope, message){
			scope.message = message;
		}
	};
}]);


module.controller('HomeCtrl', function($scope){
    messager.say($scope, "Hello world!");
});

Estevão Dias

Estevão Dias
Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar