当前位置: 首页 > 面试题库 >

如何从Angular控制器调用kendo-grid上的refresh()?

夏侯博
2023-03-14
问题内容

我正在尝试遵循一些建议来刷新诸如this的剑道网格。

关键是在html中,我有:

<div kendo-grid="vm.webapiGrid" options="vm.mainGridOptions">

然后在控制器中,我有:

vm.webapiGrid.refresh();

注意:我使用的是ControllerAs语法,所以我使用的是“ vm”而不是$ scope。

我的问题是“ vm.webapiGrid”未定义。这似乎很简单,但是我不确定为什么未定义。


问题答案:

找到了答案。刷新我所了解的数据源的另一种方法是执行以下操作:

vm.mainGridOptions.datasource.transport.read();

这对我不起作用,因为“读取”未定义。查看我的数据源定义,我看到了原因,读取需要一个参数(在本例中为“ e”):

    vm.mainGridOptions = {
        dataSource: {
            transport: {
                read: function (e) {
                    task.getAllTasks(vm.appContext.current.contextSetting).
                        then(function (data) {
                            e.success(data);
                        });
                },
            }
        },

为了解决此问题,我将“ e”保存在我的范围内,然后在需要刷新时重新使用它:

    vm.mainGridOptions = {
        dataSource: {
            transport: {
                read: function (e) {
                    task.getAllTasks(vm.appContext.current.contextSetting).
                        then(function (data) {
                            e.success(data);
                            vm.optionCallback = e;
                        });
                },
            }
        },

然后:

if (vm.optionCallback !== undefined) {
   vm.mainGridOptions.dataSource.transport.read(vm.optionCallback);
}

问题解决了(我希望)。



 类似资料:
  • 问题内容: 是否可以从控制台(Chrome开发者工具控制台)调用AngularJS控制器功能? 例如 问题答案: 是的,您只需要使用即可获取位于控制器范围内的元素:

  • 问题内容: 如何从网页的任何位置(控制器组件外部)调用控制器下定义的函数? 当我按下“获取”按钮时,它可以完美运行。但是我需要从div控制器外部调用它。逻辑是:默认情况下,我的div是隐藏的。在导航菜单中的某个位置,我按了一个按钮,它应该显示()我的div并执行“获取”功能。我该如何实现? 我的网页是: 我的js: 问题答案: 这是从外部调用控制器功能的一种方法: 您的控制器的功能在哪里。 你可以

  • 我有看起来像这样的RestController: 我想知道如何将模拟对象传递给其他Controller,后者可以处理数据并将其保存到其他存储库。例如,它可以如下所示: 但我知道这种做法是不允许的。有什么办法可以做到这一点?

  • 问题内容: 如何从视图调用Codeigniter控制器功能?当我在控制器中调用该函数时,获得404页面。 问题答案: Codeigniter是一个MVC(模型-视图-控制器)框架。从视图中调用函数确实不是一个好主意。该视图应仅用于演示,并且在进入控制器和模型中的视图之前,应先进行所有逻辑处理。 这很简单,但是确实提供了一个很好的方法。 我希望这有帮助!

  • 我最近将Angular 2的剑道网格从0.7.0升级到0.12.0(@progress/kendo-angull-grid)。我的应用程序在不使用AOP时编译得很好,但一旦我试图用AOT编译,它就失败了。我使用的是Angular 2 CLI命令“ng b--prod--aot”。错误如下。 10%生成模块2/2模块0活动不能解析模块。/field-accessor.pipe来自C:/payloci

  • 假设我有一个名为的扩展,my_extension一个名为的插件。 然后,我的控制器中有一个名为的函数。 如何通过通常的http GET请求从外部调用此?