Директива дается до того, как обещание будет выполнено
У меня возникли проблемы с получением моей директивы об отображении его содержимого только после того, как мое обещание было выполнено. я думалthen()
должен был сделать это, но это, похоже, не работает ..
Вот мой контроллер:
// Generated by CoffeeScript 1.6.3
(function() {
var sprangularControllers;
sprangularControllers = angular.module('sprangularControllers', ['sprangularServices', 'ngRoute']);
sprangularControllers.controller('productsController', [
'$scope', '$route', '$routeParams', 'Product', 'Taxonomy', function($scope, $route, $routeParams, Product, Taxonomy) {
Taxonomy.taxonomies_with_meta().$promise.then(function(response) {
return $scope.taxonomies = response.taxonomies;
});
return Product.find($routeParams.id).$promise.then(function(response) {
return $scope.currentProduct = response;
});
}
]);
}).call(this);
Моя директива:
// Generated by CoffeeScript 1.6.3
(function() {
var sprangularDirectives;
sprangularDirectives = angular.module('sprangularDirectives', []);
sprangularDirectives.directive('productDirective', function() {
return {
scope: {
product: '='
},
templateUrl: 'partials/product/_product.html',
link: function(scope, el, attrs) {
console.log(scope);
console.log(scope.product);
return el.text(scope.product.name);
}
};
});
}).call(this);
Scope возвращается нормально, и когда я проверяю это в dev toolsscope.product
не является неопределенным, однако я предполагаю, что это потому, что, когда я проверяю его, обещание было выполнено?
console.log(scope.product)
однако возвращает неопределенное ..