Как я могу гарантировать, что данные из контроллера были загружены в директиве до запуска функции ссылки?
Используя psuedo-код, я мог бы:
<my-map id="map-canvas" class="map-canvas"></my-map>
для моего html.
В моей директиве я мог бы что-то вроде этого:
app.directive('myMap', [function() {
return{
restrict: 'AE',
template: '<div></div>',
replace: true,
controller: function ($scope, PathService) {
$scope.paths = [];
PathService.getPaths().then(function(data){
$scope.paths = data;
});
},
link: function(scope, element, attrs){
console.log($scope.paths.length);
}
}
}]);
Вышеуказанное не будет работать, потому что console.log($ scope.paths.length); будет вызван до того, как служба вернет любые данные.
Я знаю, что могу вызвать службу из функции ссылок, но хотел бы знать, есть ли способ "дождаться" вызова службы перед запуском функции ссылки.