2015-06-20 100 views
2

我使用显示流星aldeed:tabular使用收集佣工流星表格

的表格初始化代码很简单表数据:

this.TabularTables.Customers = new Tabular.Table({ 
    name: "Clients", 
    collection: this.Customers, 
    columns: [ 
     {data: "lastName", title: "Name"}, 
     {data: "myMessage()", title: "Message"} 
    ], 
}); 

第一个字段,姓氏完美的作品,但加入第二场myMessage()导致

我安装dburles问题:收集-助手扩展和通用代码段添加帮手:

this.Customers = new Mongo.Collection("customers"); 
this.Customers.helpers({ 
    myMessage: function() { 
     return "Hi!"; 
    } 
}); 

但在客户端仍然收到错误:

Exception from Tracker recompute function: 
debug.js:41 TypeError: a[i[j]] is not a function 
at c (jquery.dataTables.min.js:16) 
at jquery.dataTables.min.js:17 

什么可能是与我的助手功能,我应该在哪里声明它的问题呢?

+0

{data:“myMessage()”,title:“Message”} - 你已经把函数调用myMessage()放在引号中,这可能会使它成为一个简单的字符串,而不是函数调用 – mwarren

+0

不,它不应该是函数调用 - 它只是一个字符串什么将被表格包解析,如果它包含括号 - 它将被转换为函数调用 – Rem

+0

是的,你是对的,在文档中看到它。我正在考虑尝试这个软件包,但不幸的是,它是另一个漂亮的软件包,似乎它没有被主动维护... – mwarren

回答

2

我已经做了或多或少正是你所做的,它很好地工作。

Countries = new Mongo.Collection('countries'); 

TabularTables = {}; 

Meteor.isClient && Template.registerHelper('TabularTables', TabularTables); 

TabularTables.Countries = new Tabular.Table({ 
    name: "CountriesList", 
    collection: Countries, 
    columns: [ 
     {data: 'italian_name', title: 'Italian name'}, 
     {data: 'catalogueName',title: 'Catalogue name'}, 
     {data: "myFunction()", title: 'Wot'} 
    ] 
}); 

Countries.helpers({ 
    myFunction: function() { 
     return "Hi!"; 
    } 
}); 

唯一真正的区别我可以看到的是这一行:

Meteor.isClient && Template.registerHelper('TabularTables', TabularTables); 
+0

是的,那个简单的例子也适用于我,但我的表 - 不 – Rem

1

最后我发现这个问题:TabulatTables使用集合变压器dburles:收集,助手来​​电必要的功能,但它与霹雳confilcts :加入,定义他自己的佣工

+0

你是怎么做的最终解决这个问题? – Ossip

+0

我只是禁用霹雳:加入。我认为最好在代码 – Rem

+0

中加入是的。我现在也开始工作 - 谢谢! – Ossip