2013-08-26 2 views
0

У меня есть кнопка, которая запускает popover с пользовательской директивой. Проблема заключается в том, что при нажатии кнопки попсор пуст, пользовательский директивный материал срабатывает только тогда, когда я нажимаю угловой цикл (изменяю данные во входном поле и т. Д.). Как только это произойдет, popover получает перерисовывается с настраиваемыми инструкциями, как и ожидалось.Пользовательская директива AngularJS в popover redraw

Как я могу сделать так, чтобы пользовательская директива выполнялась при открытии popover?

Некоторый код:

Кнопка - <button type="button" class="btn btn-primary btn-small" bs-popover="'partials/test.html'"><i class="icon-white icon-plus"></i></button>

обертоны/test.html - <itemlist apicall="'attributes'" editable="'false'" selectable="'true'" viewtype="'attributes'" template="partials/itemlist.html"></itemlist> (Перечень материалов обычай директивы)

директива Перечень материалов -

.directive('itemlist', function() { 
    return { 
     restrict: 'AE', 
     scope: { apicall: '=', editable: '=', viewtype: '=', selectable: '=' }, 
     controller: function ($scope, $http, $resource, $timeout, fileReader, apiaddress, $dialog, errormsg) { 
      var resource = $resource(apiaddress + $scope.apicall, {}, { update: { method: 'PUT', params: { id: '@Id' } } }); 
      $scope.apiresource = { list: resource.query() }; 

      //TODO: See how to only display one. 
      toastr.info("Loading..."); 


     }, 
     templateUrl: function (tElement, tAttrs) { return tAttrs.template }, 
     replace: true 
    }; 
}) 

Еще одна вещь - Пользовательская директива itemlist работает в других областях приложения.

Спасибо!

ответ

0

Поскольку ресурс извлекает данные асинхронно, поэтому resource.query() не гарантирует синхронное получение данных. Вы можете попробовать изменить линию на

$timeout(function() { 
    $scope.apiresource = { 
     list: resource.query() 
    }; 
}); 
+0

Спасибо. Я попробовал это, но это не так. Это никогда не доходит до этого - кажется, что вся директива 'itemlist' внутри' partials/test.html' не обрабатывается до тех пор, пока не будет принудительно вызван другой угловой цикл. – americanslon

Смежные вопросы