[英]kendo ui custom widget angular directive
我已經擴展了劍道網格
(function($) {
var MyGrid = kendo.ui.Grid.extend({
init: function(element, options) {
kendo.ui.Grid.fn.init.call(this, element, options);
},
options: {
name: 'MyGrid'
}
})
kendo.ui.plugin(MyGrid);
})(jQuery);
如何以有角度的方式使用自定義小部件。
目前,我可以看到新指令正在成功創建,但無法插值。
根據這里的telerik論壇討論:
http://www.telerik.com/forums/extending-the-grid-in-angular-kendo-does-not-work
問題似乎出在kendo.angular.js的以下代碼塊中:
defadvice(kendo.ui, "plugin", function(klass, register, prefix){ this.next(); pendingPatches = $.grep(pendingPatches, function(args){ return !defadvice.apply(null, args); }); createDirectives(klass, prefix == "Mobile"); });
這將導致對
kendo.ui.plugin()
所有調用被攔截,並在傳入的類上調用createDirectives()
。 問題是已經為默認的非擴展網格創建了kendoGrid指令,因此當再次為新的擴展網格調用kendo.ui.plugin()
時,將創建第二個kendoGrid指令,這將導致AngularJS拋出多指令錯誤。
正如您在官方答案中看到的那樣,Telerik不支持用戶擴展的小部件。
綜上所述,我目前正在研究使用Angular裝飾器來實際擴展Kendo為其小部件創建的指令,如下所述:
https://coderwall.com/p/-8vjxa/cleanly-extend-3rd-party-angularjs-directives
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.