首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JQuery DataTable没有在流星上工作

JQuery DataTable没有在流星上工作
EN

Stack Overflow用户
提问于 2014-10-25 23:59:52
回答 2查看 2.2K关注 0票数 2

我正在尝试在Meteor项目中实现jQuery DataTables,但是我总是得到以下错误。有人能告诉我我在这里错过了什么吗?下面是我的Meteor应用程序代码。谢谢。

代码语言:javascript
复制
Uncaught TypeError: Cannot set property 'pagesData' of undefined underscore.js:848
Error: Exception from Tracker recompute function:
Error: Can't call non-function: undefined
    at Spacebars.call (http://localhost:3000/packages/spacebars.js?cb20740019f26bdca2faa89ba9c973f618118521:172:13)
    at Spacebars.mustacheImpl (http://localhost:3000/packages/spacebars.js?cb20740019f26bdca2faa89ba9c973f618118521:106:25)
    at Object.Spacebars.mustache (http://localhost:3000/packages/spacebars.js?cb20740019f26bdca2faa89ba9c973f618118521:110:39)
    at null._render (http://localhost:3000/packages/jquery-datatables.js?bf10e73db3f8b2f4afdc77c33ba3c62092556ae7:1010:22)
    at doRender (http://localhost:3000/packages/blaze.js?7b7ff7ee2ccdccd85a1ad0d8dc9d96193e29e8b0:1853:25)
    at http://localhost:3000/packages/blaze.js?7b7ff7ee2ccdccd85a1ad0d8dc9d96193e29e8b0:1795:16
    at Object.Blaze._withCurrentView (http://localhost:3000/packages/blaze.js?7b7ff7ee2ccdccd85a1ad0d8dc9d96193e29e8b0:2029:12)
    at viewAutorun (http://localhost:3000/packages/blaze.js?7b7ff7ee2ccdccd85a1ad0d8dc9d96193e29e8b0:1794:18)
    at Tracker.Computation._compute (http://localhost:3000/packages/tracker.js?192a05cc46b867dadbe8bf90dd961f6f8fd1574f:288:36)
    at new Tracker.Computation (http://localhost:3000/packages/tracker.js?192a05cc46b867dadbe8bf90dd961f6f8fd1574f:206:10)

Project.html -客户端文件夹

代码语言:javascript
复制
<template name="projectslist">
  <div class="projectslist">

    <div>
        {{> DataTable dtProjects }}
    </div>

  </div>
</template>

Projectlist.js -客户端文件夹

代码语言:javascript
复制
Template.projectslist.dtProjects =  function() {    
  return {
    id: "my-unique-table-id",
    columns: [
      {
        title: "Name",
        data: "name"
      }, {
        title: "Description",
        data: "description"
      }, {
        title: "Delivery Date",
        data: "deliverydate"
      }
    ],
    subscription: "dtProjects",
    query: {
      grade: "A"
    }
  };
};

Server.js -服务器文件夹

代码语言:javascript
复制
var ProjectsTable;
  ProjectsTable = new DataTableComponent({
    subscription: "dtProjects",
    collection: Projects
  });
  ProjectsTable.publish();

Projects.js -可用于服务器和客户端:

代码语言:javascript
复制
Projects = new Mongo.Collection('projects');
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-10-29 11:47:29

根据流星,JQuery dataTables重复了MiniMongo、Spark和Spacebar提供的许多排序和DOM操作功能。因此,即使您可以将样式排序(或决定忽略样式),排序和其他函数最终也不会像在DataTables下响应更新表时所期望的那样。

话虽如此,2014年7月30日,Meteor Google支持组中提到的Meteor -jquery- Datatable ( menway:jquery-数据包的创建者menway )的创建者奥斯汀·里瓦斯在Meteor Google支持组中提到了Meteor Datatable包:

在使用jquery-datatable和meteor一起复制功能和协调jquery-datatable状态和meteor反应性方面有很多困难。

因此,检查另一个包或可能检查分页的替代方法:https://github.com/awatson1978/clinical-ui-crud-table可能是个好主意。

就我个人而言,我建议使用反应性表https://github.com/ecohealthalliance/reactive-table。它非常稳定,易于实现/配置。

另请参阅:

票数 5
EN

Stack Overflow用户

发布于 2014-10-28 11:31:56

  1. 删除mrt版本: mrt remove jquery-datatables
  2. 添加Meteor 0.9+版本: meteor add menway:jquery-datatables

然而,它似乎仍然不兼容0.9,因为package.js仍然使用空格。不过,试试看。

也许值得看一下这个扩展:https://atmospherejs.com/ephemer/reactive-datatables

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26568484

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档