【问题标题】:Kendo & Aurelia: jQuery(...).kendoPager is not a functionKendo & Aurelia: jQuery(...).kendoPager 不是一个函数
【发布时间】:2015-07-16 02:20:39
【问题描述】:

我正在努力让剑道在 Aurelia 工作,但这并不容易......

VM attach() 挂钩内的以下调用在 shim.min.js:1444 中引发“jQuery(...).kendoPager 不是函数”异常:

jQuery("#pager").kendoPager({
  dataSource: dataSource
});

我已经尝试了多种方法来定义 GlobalBehavior.jQueryPlugins() 设置,以下是迄今为止我在 main.js 中的最佳尝试:

import {GlobalBehavior} from 'aurelia-templating-resources';
GlobalBehavior.jQueryPlugins["kendopager"] = "kendoPager";

不幸的是,没有太多关于这方面的文档,所以有人在黑暗中摸索了一下,所以我们将不胜感激。

普通的 jQuery 函数在这里可以正常工作,所以问题似乎与使用 Kendo 有关。

提前致谢

【问题讨论】:

  • 你用jspm安装插件了吗?
  • 好吧,实际上我并没有关注 Aurelia 团队成员之一所做的 kendo-spike2 示例,其中 Kendo 只是包含在 index.html 文件中。我现在已经完成了成功执行的“jspm install kendo-ui”......但错误仍然存​​在。我想我现在需要添加适当的导入语句来包括剑道 - 我只需要弄清楚如何做到这一点......
  • 我在这里写了一篇关于创建用于包装 css 框架的自定义元素的博客:davismj.me/blog/semantic-custom-element

标签: aurelia


【解决方案1】:

您使用 JSPM 安装了依赖项,但您还需要将其导入 VM 类文件中。将此导入语句放在文件顶部:

import {kendoUi} from 'kendo-ui';

之后你就可以在attached钩子中使用了:

jQuery("#pager").kendoPager({
  dataSource: dataSource
});

请注意,最好不要引用 DOM 元素,而是引用硬编码的选择器。您最好在模板中创建对元素的引用

<div ref="pager"></div>

然后在视图模型中有

jQuery(this.pager).kendoPager({
  dataSource: dataSource
});

【讨论】:

猜你喜欢
  • 2021-10-03
  • 1970-01-01
  • 2019-11-06
  • 2017-11-28
  • 2018-06-01
  • 2020-05-11
  • 2012-01-30
  • 2013-08-04
  • 2022-01-11
相关资源
最近更新 更多