Kendo ui 角度剑道窗口自定义动作

Kendo ui 角度剑道窗口自定义动作,kendo-ui,angular-kendo,kendo-window,Kendo Ui,Angular Kendo,Kendo Window,我正在尝试使用角度剑道创建一个带有自定义动作的窗口,但遇到了一个问题 使用剑道(减去角度)时,我会添加以下功能: 但是,在Angular Kendo中,对窗口对象的访问是通过$scope.windowname进行的,并且只有在执行Kendo window=“windowname”指令后才可用 我目前正在通过绑定k-on-open上的操作来绕过这个问题,比如 var firstLoad = true; this.onOpenCallback = function () {

我正在尝试使用角度剑道创建一个带有自定义动作的窗口,但遇到了一个问题

使用剑道(减去角度)时,我会添加以下功能:

但是,在Angular Kendo中,对窗口对象的访问是通过
$scope.windowname
进行的,并且只有在执行
Kendo window=“windowname”
指令后才可用

我目前正在通过绑定
k-on-open
上的操作来绕过这个问题,比如

    var firstLoad = true;

    this.onOpenCallback = function () {

        if (firstLoad) {
            $scope.messageBodyWindow.wrapper.find(".k-i-custom").click(function (e) {
                alert("OMG");
            });
            firstLoad = false;
        }

然而,这个解决方案感觉像是一个廉价的黑客。有没有“适当”的方法来实现这一点?

您可以将角度剑道指令包装在自定义指令中,并将所需的功能放入
链接
功能中。这将注册您的自定义绑定一次,而无需任何“首次打开窗口布尔”黑客行为

  <div custom-kendo-window>
  </div>

自定义指令在其模板中包含剑道指令

.directive('customKendoWindow', function(){
  return {
    template: '<div kendo-window="win" k-title="\'Window\'" k-width="600" k-height="200" k-visible="false"> <div id="customAction" style="cursor: pointer;">custom click action</div></div>',
    link: function(scope, element, attrs){
        $('#customAction').bind('click', function(){
          alert('Custom action fired!');
        })
    }
  }
})
.directive('customKendoWindow',function(){
返回{
模板:“自定义单击操作”,
链接:函数(范围、元素、属性){
$('#customAction').bind('click',function()){
警报(“触发自定义操作!”);
})
}
}
})

下面是一个显示如上所示的简单包装器,然后是一个可配置包装器,在每个指令的链接函数中设置了单击绑定。

我试图找到这个问题的答案,但没有成功!Telerik对这个问题保持沉默。
.directive('customKendoWindow', function(){
  return {
    template: '<div kendo-window="win" k-title="\'Window\'" k-width="600" k-height="200" k-visible="false"> <div id="customAction" style="cursor: pointer;">custom click action</div></div>',
    link: function(scope, element, attrs){
        $('#customAction').bind('click', function(){
          alert('Custom action fired!');
        })
    }
  }
})