Moim zdaniem, chcę render:Gdzie umieścić funkcje zdefiniowane przez użytkownika w Angular JS?
<p>
{{ say() }}
</p>
Gdzie say
jest zdefiniowany jako takie:
say = function() {
return "Hello World";
}
mogę zdefiniować go w moim kontrolera:
function TestCtrl($scope) {
$scope.say = function() { ... };
}
Ale to jest to dostępne tylko w tym kontrolerze.
Jeśli zdefiniuję tę funkcję poza strukturą pliku kątowego, to nic nie wyrenderuje. To samo, jeśli definiuję je w pliku controllers.js
, ale poza zakresem funkcji kontrolera.
Gdzie jest właściwe miejsce na umieszczenie mojej funkcji, więc mogę renderować ją w dowolnym kontrolerze?
Awesome ... Spodziewałem się, że będzie to możliwe z usługami, ale nie mogłem znaleźć składni, aby je dodać w –
Po prostu FYI, alternatywna składnia (wolę widzieć/czytać "usługę" zamiast "fabryki" jeśli potrzebuję tylko funkcji konstruktora): .service ('myService', function() { this.say = function() {return "Hello World";} }); –
"Problem" z odpowiednią usługą polega na tym, że za każdym razem, gdy używasz usługi, otrzymujesz nową instancję tej usługi. W takim przypadku może to nie być najlepszy pomysł. – Spock