我有一個指令,使用jquery「multiselect」插件來增強任何< select>屬性爲「filtermultiselect」。我的問題是select通過ajax調用填充,我不希望指令運行,直到< select>已填充。我修改了我的指令,如下所示Angularjs:調用指令方法作爲控制器的回調
angular.module('filtermultiselectDirective', [])
.directive('filtermultiselect', function() {
return {
restrict: 'A',
link: function($scope, element, attrs) {
$scope.$on('createMultiSelectFilters', function (element) {
element.multiselect({
disableIfEmpty: true,
buttonWidth:'100%',
enableFiltering: true,
includeSelectAllOption: true,
enableCaseInsensitiveFiltering: true
});
});
}
}
});
,並從我的控制,我只是用
$scope.$broadcast('createMultiSelectFilters');
的回調。然而,不起作用,我得到「element.multiselect不是一個函數」。
對新手有任何建議嗎?
感謝您的反饋意見,您指出了我的正確方向。我已經發布了下面的實際解決方案。 –