我有一个使用角度绑定填充的选择。
< select class =' clsBucket' ID =' optBuckets' ng-options ='选择加入桶中的opt.name' NG-模型=' bucketSelected' NG-变化=' changeBucket()'>
现在我想在此选择中应用Kendo下拉列表样式,但我不想使用kendo数据源等填充选项并继续使用angular进行此操作。
如果我使用$('#optBuckets')。kendoDropDownList()然后我应用了所需的样式但绑定数据丢失了。
任何帮助以解决这个问题都非常感谢。
答案 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>