javascript - 剑道网格 : getting an instance in a Angular directive

标签 javascript angularjs kendo-ui kendo-grid

这直接来自 this question (还有一个额外的问题,因此我认为应该是一个新帖子?)

上面的链接展示了如何在 Angular 中获取网格实例(感谢 Lars)

因此,根据最后一个示例,我现在添加了以下指令..

<body>    
<div data-ng-app="app">     
<div data-ng-controller="Grid as vm">
        <div id='aa'>
    <div pckendo id='bb' kendo-grid='grid' 
       k-options="vm.options"></div>  
    </div>

 </div>
</div>      
</body> 

并在.js中添加

angular
.module("app", ["kendo.directives"])
.controller("Grid", Grid)
.directive('pckendo', PCKendo);
....
function PCKendo() {

function link(scope, element, attrs) {
    var instance = element;
    var vm = scope.vm;

    vm.msg = "";
    var grid = scope.grid;

}

return {
    link: link
}

参见here完整示例。

我不想在 Controller 中获取实例,而是想通过指令获取它(据我所知,这是进行事件处理等的更好地方)

我在那里尝试了一些方法,但无法获取网格实例,因此这里的任何进一步帮助都会很棒。

提前致谢!

最佳答案

基本上你做同样的事情;您需要等待 kendoRendered 事件,例如像这样(请注意,此示例可能不符合 Angular 最佳实践(重新隔离范围等)):

function PCKendo($timeout) {
    function link(scope, element, attrs) {
        scope.$on("kendoRendered", function (e) {
            scope.$apply(function () {
                scope.vm.setMessage("one col");
                scope.grid.hideColumn(1);
            });

            $timeout(function () {
                scope.$apply(function () {
                    scope.vm.setMessage("all cols");
                    scope.grid.showColumn(1);
                });
            }, 2000);
        });
    }

    return {
        link: link
    }
}

( demo )

关于javascript - 剑道网格 : getting an instance in a Angular directive,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28470493/

相关文章:

javascript - 在 IE8 中接收无效参数

javascript - $window.print(),在angular js中不打印更新后的模型数据

javascript - 如何在 AngularJs 中获取 json 对象和嵌套对象的属性名称和值?

javascript - 使用 $(document) 仅调用一次脚本

javascript - 如何使用 <img src =""> 中的属性?

javascript - AngularJS 输入字段复选框 ng-click 不触发方法

javascript - Kendo Grid新增记录事件,如何捕捉?

asp.net-mvc - Kendo UI DropDownListFor html 包装器 - 如何将 BindTo 设置到模型中的集合?而不是 ViewData 或 Viewbag

CSS样式,如何为div中的下拉列表设置kendo样式

javascript - 自 jquery 1.4.3 以来的小错误