我正在尝试使用jQueryUI小部件为我的AngularJS基础应用程序制作一些有用的指令。
其中一个工作在“选择”元素,并且可以使用指令,但只有事情不明白是这个:
修改 在示例中,我正在尝试为multiselect plugin实现指令。 请注意,我正在模拟服务器响应,但是将所有内容都置于超时状态。
答案 0 :(得分:0)
您需要$观察项目列表的更改,然后在多选插件上调用refresh
... Here is a plunk that shows the solution
angular.module('myui', [])
.directive('qnMultiselect', function() {
return {
restrict: 'A',
require: 'ngModel',
link: function(scope, elem, attr) {
//set up the plugin.
elem.multiselect({ allowClear: false });
//get the source of the ngOptions
var parts = attr.ngOptions.split(' ');
var source = parts[parts.length - 1];
//watch the options source and refresh the plugin.
scope.$watch(source, function(value) {
elem.multiselect('refresh');
});
}
};
});