/ / jak duplikować i wprowadzać drobne zmiany do istniejącego kontrolera angulary - angularjs

jak duplikować i wprowadzać drobne zmiany do istniejącego kontrolera angulary - angularjs

to, co próbuję tutaj zrobić, to stworzyć podobny kontroler, ale nie taki sam, kilka aspektów kontrolera musi być nadpisanych. jeśli tak jest w java wtedy prawdopodobnie podklasę i nadpisuję metodę, której potrzebowałem. ale tutaj w AngularJs nie wiem, jaki jest najlepszy sposób, aby to osiągnąć.

Naprawdę nie chcę powielać kodu, ale preferowany jest refaktoryzacja istniejącego kodu, ale z powodu problemu z osi czasu musi to trochę opóźnić.

więc jaka jest zgodność podklasy i przesłaniania w AngularJS

Odpowiedzi:

0 dla odpowiedzi № 1

Kiedy naprawdę potrzebujesz dziedziczenia kontrolerów (w tym $ scope), myślę, że na twoje pytanie najlepiej odpowiedzieć tutaj: Jaki jest zalecany sposób rozszerzenia kontrolerów AngularJS?


0 dla odpowiedzi nr 2

Możesz utworzyć usługę i dziedziczyć jej zachowanie w dowolnym kontrolerze, po prostu wstrzykując go.

app.service("reusableCode", function() {

var reusableCode = {};

reusableCode.commonMethod = function() {
alert("Hello, World!");
};

return reusableCode;
});

Następnie w kontrolerze, który chcesz rozszerzyć z powyższej usługi ponownego użycia:

app.controller("MainCtrl", function($scope, reusableCode) {

angular.extend($scope, reusableCode);

// now you can access all the properties of reusableCode in this $scope
$scope.commonMethod()

});

DEMO PLUNKER: http://plnkr.co/edit/EQtj6I0X08xprE8D0n5b?p=preview