Mam wiele kontrolerów dla wielu trasach:jak ponownie wykorzystać funkcję w wielu kontrolerów
app.controller('FirstController', function ($scope) {
$scope.func = function() {
console.log('route 1');
}
}
app.controller('SecondController', function ($scope) {
$scope.func = function() {
console.log('route 2');
}
}
...
i dyrektywy, która wykorzystuje $scope.func
, w ten sposób:
app.directive('thedirective', function() {
return {
link: function (scope, $element, attrs) {
$scope.func(attrs.thedirective);
}
}
});
$scope.func
jest inna w każdym kontrolerze . Oczekuję, że $ scope.func zarejestruje "trasę 1", gdy będziemy w trasie1, a FirstController jest bieżącym kontrolerem i loguje się "route 2" w trasie 2, ale tylko "rout 1" jest tym, co dostaję w konsoli. czy możesz mi powiedzieć, dlaczego zmiana trasy nie zmienia zakresu dyrektywy?
Może moje rozwiązanie może ci pomóc? http://stackoverflow.com/questions/26921071/initialize-scope-variables-for-multiple-controllers-angularjs/26921599#26921599 – arman1991