Dla Functional programowania stylu który wykorzystuje Fabryka usług style następującą składnię dostaje zadanie:
angular.module('myApp')
.component('myComponent', {
templateUrl: 'myTemplate.html',
controller: ['myFactory', function(myFactory){
var thisComponent = this;
thisComponent.myTemplatemsg = myFactory.myFunc();
}]
})
.factory('myFactory', [ function(){
return {
myFunc: function(){
return "This message is from the factory";
}
};
}]);
Słowo Uwaga: uwaga: Tę samą usługę/fabrykę, którą skonfigurowałeś dla swojego komponentu, można także wstrzykiwać (i tym samym jest dostępna) w dowolnym miejscu w Twojej aplikacji, w tym w zakresie nadrzędnym i innych zakresach komponentów. Jest to potężne, ale można go łatwo nadużywać. Dlatego zaleca się, aby komponenty modyfikowały tylko dane w ramach ich własnego zakresu, aby nie było zamieszania, kto modyfikuje co. Więcej informacji na ten temat można znaleźć pod adresem https://docs.angularjs.org/guide/component#component-based-application-architecture.
Jednak nawet dyskusja w powyższym łączu dotyczy tylko ostrzeżenia o użyciu dwukierunkowego wiązania wartości właściwości '='
podczas korzystania z obiektu powiązań. Dlatego te same argumenty powinny dotyczyć usług komponentów i fabryk. Jeśli planujesz korzystać z tej samej usługi lub fabryki w ramach innych zakresów komponentów i/lub zakresu nadrzędnego, polecam skonfigurować twoją usługę/fabrykę, w której rezyduje zasada nadrzędna lub miejsce, w którym przebywa zamierzony zbór usług/fabryk. Zwłaszcza jeśli masz wiele komponentów korzystających z tej samej usługi/fabryki. Nie chcesz, aby znajdował się w jakimś arbitralnym module komponentu, który byłby trudny do znalezienia.
Dodawanie w przypadku ES6 musi przypisać parametry do lokalnej zmiennej 'class FranchisesController { konstruktor ($ state) { to. $ State = $ state; } addFranchise() { to. $ State.go ("franquicias.agregar"); } } ' – elporfirio
Gdzie to znalazłeś? Nie mogłem znaleźć tego w dokumentach na stronie https://docs.angularjs.org/guide/component. Pozdrawiam –
@NickWhiu można go znaleźć w sekcji Dependency Injection - https://docs.angularjs.org/guide/di – Gondy