我目前在使用指令时遇到问题,而在指令试图访问它们时,未设置父控制器中设置的某些范围值。这是因为在AJAX调用返回任何数据之前调用该指令。有没有让我的指令等待这个数据在继续之前设置?
这是我的指示:
return {
restrict: 'E',
//scope: {},
templateUrl: window.baseUrl + '/template-common/directives/blurGallery',
// -------------------------------------------------------------
link: function(scope, element, attrs) {
var $gallery = $('body').find('.the-gallery'),
$item = $gallery.find('.preview-content');
console.log($scope.tasks);
scope.gallery = {
视图(玉)代码:
blur-gallery(gallery-items)
控制器代码:
//Get task details
PPTaskService.loadTaskDetails($scope.theTaskId)
.then(function(response) {
$scope.task = new TaskWrapper(response);
$scope.isDataLoaded = true;
});
正如您所看到的,控制器要求服务检索数据并设置$ scope.task变量,但指令在返回之前尝试访问它(正如您在console.log中看到的那样)。
由于
答案 0 :(得分:2)