ja wpadłem na problem z NG-kontrolera i „resolve” funkcjonalność:angularjs NG-kontroler z determinacji
Mam kontroler, który wymaga pewnej zależności, które należy rozwiązać przed działa, to działa dobrze, kiedy zdefiniować poprzez nG-trasie:
kod Kontroler wygląda następująco:
angular.module('myApp')
.controller('MyController', ['$scope', 'data', function ($scope, data) {
$scope.data = data;
}
]
);
Routing:
...
.when('/someUrl', {
templateUrl : 'some.html',
controller : 'MyController',
resolve : {
data: ['Service', function (Service) {
return Service.getData();
}]
}
})
...
kiedy idę do/someUrl, wszystko działa.
Ale muszę używać tego kontrolera w inny sposób (muszę w obie strony w różnych miejscach):
<div ng-controller="MyController">*some html here*</div>
I, oczywiście, że nie, ponieważ zależność „dane” nie został rozwiązany. Czy istnieje sposób na wstrzyknięcie zależności do kontrolera, kiedy używam "ng-kontrolera", czy powinienem zrezygnować i załadować dane do kontrolera?
Mogę napisać Ci przykład później. Ale w twoim przypadku, aby usługa zwróciła obietnicę, a nie rzeczywiste dane. Po rozwiązaniu, pobierz dane w MyController, oznacza to, że Twoja Usługa musi mieć metodę lub właściwość, która zwraca dane z pamięci podręcznej. Mam nadzieję że to pomogło. – Lance
Wpadłem na ten sam problem http://jsfiddle.net/cnst530p/6/ –