kendo ui custom widget angular directive

时间:2016-06-08 17:26:03

标签: javascript angularjs kendo-grid

我已经扩展了剑道网格

(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);

如何以角度方式使用自定义小部件。

目前,我能够看到新指令正在成功创建,但不能进行插值。

1 个答案:

答案 0 :(得分:-1)

根据这里的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