Kendo Grid:在 Angular 中获取小部件实例

2024-01-03

我试图在我的 Angular 控制器中获取 Kendo 网格的实例,因此我可以尝试连接一些事件(并调用方法),我知道这可能不是最佳实践(并且可能应该使用自定义指令),但是根据文档 http://docs.telerik.com/kendo-ui/AngularJS/introduction,我们应该能够使用...

<div ng-app="app" ng-controller="MyCtrl">
<input kendo-datepicker="datePicker" k-on-change="onChange()">
</div>
<script>
 angular.module("app", [ "kendo.directives" ]).controller("MyCtrl",
   function($scope) {
 $scope.onChange = function() {
 alert($scope.datePicker.value());
};

});

所以,我试图对网格做同样的事情。我有以下标记...

<div ng-controller="Grid">
  <div kendo-grid='grid' k-options="vm.gridOptions"></div>  
</div>

然后在控制器js文件中..

  angular
    .module("mygrid")
    .controller("Grid", ['$scope', Grid]);

    function Grid($scope) {             
      var gridInstance = $scope.grid;
      ...

可以看出here http://jsfiddle.net/peterjc/ocdhxxpv/2/

然而,gridInstance 始终是未定义的。有谁知道我是否应该能够使用网格来做到这一点,如果是的话为什么上面总是返回未定义?

预先感谢您的任何帮助

Peter


两个问题:

  1. 如果您使用“controller as”语法,则需要为要访问的内容添加前缀(在您的情况下,您需要kendo-grid="vm.grid"代替kendo-grid="grid"
  2. 当你的控制器实例化时,Kendo UI 小部件尚不存在(类似的问题here https://stackoverflow.com/a/28390385/2001735),所以你需要使用全局 Kendo UI 事件来等待它

所以你的 Html 就变成了:

<div data-ng-app="app">
    <div data-ng-controller="Grid as vm">
        <div kendo-grid="vm.grid" k-options="vm.options"></div>
        <div>{{vm.msg}}</div>
    </div>
</div>

您的应用程序:

(function () {
    angular.module("app", ["kendo.directives"])
        .controller("Grid", ["$scope", Grid]);

    function Grid($scope) {
        var vm = this;

        var gridData = [{
            col1: 'data1',
            col2: 'data2'
        }, {
            col1: 'data1',
            col2: 'data2'
        }];

        vm.options = {
            dataSource: gridData,
            editable: true
        };

        $scope.$on("kendoRendered", function (event) {
            var gridInstance = vm.grid;
            console.log(vm);
            vm.msg = gridInstance === undefined ? "undefined" : "defined";
        });
    }
})();

(更新了演示 http://jsfiddle.net/ocdhxxpv/3/)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Kendo Grid:在 Angular 中获取小部件实例 的相关文章

随机推荐

  • 如何向 pagedown 添加自定义图像标签?

    我正在尝试复制原始内容img自定义标签的功能img将添加到 pagedown 转换器的标记 例如 我复制原始行为 image url 1 1 http lolink com gives img src http lolink com 变成一
  • Django_Socketio 和 Apache

    我对网络开发还很陌生 最近我一直在使用 Django 制作一个网站 我对在网站中实现 websocket 非常感兴趣 为了实现这一点 我使用了 django socketio 可在 git hub 上找到 https github com
  • Android缩放动画闪烁

    我的应用程序中有框架布局 在框架中我有 ImageView 和 TextView 我一直需要框架布局反弹 我用 xml 制作了这个动画
  • 通过ObjectOutputStream将LinkedList写入文本文件但输出是垃圾

    当我尝试将链接列表的内容写入文本文件时 出现输出错误 try FileOutputStream out new FileOutputStream ValidMovesMatrix txt ObjectOutputStream oout ne
  • 当用户确认“离开页面”时触发 javascript 函数

    我正在使用下面的代码来触发confirmExit 当用户尝试离开页面时函数 window onbeforeunload confirmExit function confirmExit return Are you sure you wan
  • RxJava。顺序执行

    在我的 Android 应用程序中 我有一个演示者 它处理用户交互 包含某种请求管理器 如果需要 可以通过请求管理器将用户输入发送到请求管理器 请求管理器本身包含服务器 API 并使用此 RxJava 处理服务器请求 我有一个代码 每次用户
  • Oracle 不同模式上的表名相同吗?

    是否可以在不同模式上使用相同的表名称 而在一个数据库中的表上使用不同的数据 我认为我不应该创建多个数据库 包含相同的表名 而应该创建多个模式 就像是 Schema 1 table A table B Schema 2 table B tab
  • 图解:python语言重路由问题测试

    贵公司有N服务器 信息通过连接从一台服务器流向另一台服务器 如果信息从服务器流出i到服务器j then 联系 i j 某些服务器连接 i i 是可能的 这意味着信息不会进一步流动 给定一个由 N 个整数组成的数组连接 您的任务是对连接数组值
  • 如何根据当前服务器找到最合适的缓冲区大小来读取或写入Stream

    我正在编写一个服务器 它将准备好并写入巨大的文件 数据库 我在很多地方使用了 Stream 读写函数 其中我使用 8192 作为缓冲区大小 我还从 TCP 套接字读取大量输入 我不知道将部署该服务的虚拟机的配置是什么 是否有任何内置函数可以
  • Lucene 通配符查询

    我有一个关于 Lucene 的问题 我有一个表单 并从中获取文本 我想在多个字段中执行全文搜索 假设我从输入中获取文本 textToLook 我有一个带有多个过滤器的 Lucene 分析器 其中之一是 lowerCaseFilter 因此当
  • lxml.objectify 和前导零

    当 objectify 元素打印在控制台上时 前导零会丢失 但它会保留在 text gt gt gt from lxml import objectify gt gt gt gt gt gt xml a b 01 b a gt gt gt
  • 在scala中,如何使类型类适用于Aux模式? - 第2部分

    这是以下问题的后续问题 在scala中 如何使类型类适用于Aux模式 https stackoverflow com questions 65838535 in scala how to make type class working fo
  • Python - 从类主体内部引用类名

    在Python中 我想要一个类属性 一个带有初始化值的字典 我写了这段代码 class MetaDataElement MD INVALID MD CATEGORY MD TAG range 3 mapInitiator2Type Meta
  • 将 DateTime 保存到 Cassandra Date 列

    Cassandra NET 驱动程序文档非常糟糕 我试图拼凑一些功能性的东西 但我浪费了很多时间试图更改我找到的 Java 文档中的代码 我正在尝试使用 Cassandra 驱动程序将数据写入一个简单的表 该表已经存在并且里面有日期 我创建
  • basicAuth configprerender basicAuth 配置

    我正在运行一个预渲染服务器 https prerender io documentation一切都很好 但现在我想使用设置一些安全性基本验证 https github com prerender prerender basicauth 在我
  • 表视图中的复选框单元格:用户无法选中它

    我需要使用复选框单元格的帮助 我目前将对象添加到表视图中 看起来没问题 直到我尝试构建和运行程序 但我无法选中该复选框 我目前正在使用一个表格视图 它显示项目运行时 每个项目都有一个复选框 这样我就可以有多个选择 我是 xcode 新手 这
  • 为网站的私人测试版添加安全层的最不显眼的方法是什么?

    假设我有一个 ASP NET 站点 在本例中为 MVC 它使用表单身份验证和典型的会员系统 该网站允许经过身份验证的用户和匿名用户 当我将网站作为私人测试版发布时 我想在应用程序之上添加另一层安全性 例如超级用户的 https superu
  • 组件如何对其子组件进行布局?

    我已经使用 React 几个星期了 所以我还远不 是专家 这就是问题所在 我正在构建一些布局其子组件的组件 这是一个Layout可以这样使用 var SomeComponent React createClass render functi
  • 确定列中 NA 值的数量

    我想数一下有多少个NA数据框列中的值 假设我的数据框被称为df 我正在考虑的列的名称是col 我想出的方法如下 sapply df col function x sum length which is na x 这是一个好的 最有效的方法吗
  • Kendo Grid:在 Angular 中获取小部件实例

    我试图在我的 Angular 控制器中获取 Kendo 网格的实例 因此我可以尝试连接一些事件 并调用方法 我知道这可能不是最佳实践 并且可能应该使用自定义指令 但是根据文档 http docs telerik com kendo ui A