AngularJs + JQueryUI等待响应

时间:2012-10-24 21:18:30

标签: jquery-ui angularjs

我正在尝试使用jQueryUI小部件为我的AngularJS基础应用程序制作一些有用的指令。

其中一个工作在“选择”元素,并且可以使用指令,但只有事情不明白是这个:

  1. 当从ajax请求中填充选择列表时,如何在填充数据时应用jqueryui小部件?假设它是$ watch但不确定如何。
  2. 修改 在示例中,我正在尝试为multiselect plugin实现指令。 请注意,我正在模拟服务器响应,但是将所有内容都置于超时状态。

    这是code on plunker

1 个答案:

答案 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');
            });
          }        
        };
    });