В общем, есть на странице селект, по которому фильтруется вывод основных данных. Он должен быть декорирован
Selectmenu.
Я набросал простейшую директиву:
function($scope, element, attrs, controller) {
// Получаю опции из атрибута
var options = $scope.$eval(attrs['selector']);
angular.extend(options, {
// Без этого модель привязанная к селекту не обновляется
change: function(event, object) {
element.trigger('change');
}
});
// Применяю плагин
$(element).selectmenu(options);
}
Тут всё хорошо, всё работает. Но т.к. приложение RESTfull (это мой первый опыт) данные для селекта должны подгружаться динамически. И в итоге получается, что когда данные пришли и оригинальный селект заполнился - Selectmenu уже применён и пустой.
Причём получается от случая к случаю: обновляешь страницу, если данные пришли быстро - то и в декорированном селекте появились, если нет то он пустой (оригинальный, который скрыт в порядке).
Я пробовал вызывать .
selectmenu("
refresh"); после загрузки данных:
$scope.staffList = Staff.query({fOnlyAuthors: 1}, function(){
// console.log(jQuery(".selector", element).length)
jQuery(".selector", element).selectmenu("refresh");
});
Но это эффекта не имеет, селект по прежнему остаётся пустым.
Подскажите как правильно решить данный вопрос?
Как-то организовать отложенное применение декорирующей директивы или обновление плагина?