Fonction d'appel d'un autre contrôleur Angular Js
Je suis nouveau à l'aide angular js et j'ai déclarer beaucoup de contrôleur et maintenant, je veux de l'utilisateur de la fonction de contrôleur dans un autre contrôleur. voici mon exemple de code.
app.controller('Controller1',function($scope,$http,$compile){
$scope.test1=function($scope)
{
alert("test1");
}
});
app.controller('Controller2',function($scope,$http,$compile){
$scope.test2=function($scope)
{
alert("test1");
}
});
app.controller('Controller3',function($scope,$http,$compile){
///
});
Maintenant, je veux appeler test2 fonction à l'intérieur de controller3.
Quelqu'un peut-il aider..
Merci à l'Avance... 🙂
source d'informationauteur Mayur
Vous devez vous connecter pour publier un commentaire.
Vous ne pouvez pas appeler une méthode d'un contrôleur au sein d'un contrôleur. Vous devrez extraire la méthode, créer un service et de l'appeler. Cela permettra également de découpler le code les uns des autres et de le rendre plus testable
Exemple: http://plnkr.co/edit/FQnthYpxgxAiIJYa69hu?p=preview
Meilleure façon est d'écrire un service et d'utilisation de ce service dans les deux contrôleurs. consultez la documentation Service de la documentation
Si vous voulez vraiment le contrôleur d'accès de la méthode à partir d'un autre contrôleur de suivre ensuite l'option ci-dessous:
émettant un événement sur le champ d'application:
Le contrôleur est un constructeur, il va créer une nouvelle instance si, par exemple, utilisé dans une directive.
Vous pouvez toujours faire ce que tu voulais, en supposant que vos contrôleurs sont dans le même champ d'application, il suffit de faire:
Remarque qu'ils doivent être dans la même portéepourrait encore fonctionner si un enfant n'a pas été isolé.
La définition de la directive:
Cela devrait fonctionner.