仅在角度选择上应用kendo下拉列表样式

时间:2014-10-06 14:36:37

标签: angularjs kendo-ui dropdownlistfor

我有一个使用角度绑定填充的选择。

< select class =' clsBucket' ID =' optBuckets' ng-options ='选择加入桶中的opt.name' NG-模型=' bucketSelected' NG-变化=' changeBucket()'>

现在我想在此选择中应用Kendo下拉列表样式,但我不想使用kendo数据源等填充选项并继续使用angular进行此操作。

如果我使用$('#optBuckets')。kendoDropDownList()然后我应用了所需的样式但绑定数据丢失了。

任何帮助以解决这个问题都非常感谢。

1 个答案:

答案 0 :(得分:0)

上面的代码列出了“存储桶”作为数据源。考虑到这一点,将“桶”分配给范围的承诺应该在范围上暴露它的承诺。从那里一个指令可以访问它(这里称为'bucketsPromise')

控制器中的代码可能如下所示:

$scope.bucketsPromise = bucketsService.get().then(function(data) {
  $scope.buckets = data;
}).promise;

该指令将如此显示:

.directive('angularToKendoDropdown', function() {
  return {
    scope: {
      'bindToCtrl': '&dataSourcePromise'
    },
    link: function(scope, element, attr) {
        scope.bindToCtrl.then(function() {
          $(element).kendoDropDownList();
        })
    }
 };
});

给定的选择将如下所示:

<select class='clsBucket angular-to-kendo-dropdown' id='optBuckets'
        ng-options='opt as opt.name for opt in buckets'
        ng-model='bucketSelected' ng-change='changeBucket()'
        data-source-promise='bucketsPromise'>
</select>