2015-06-20 98 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