未调用流星模板onRendered回调

时间:2015-03-21 15:17:09

标签: javascript meteor meteor-blaze chartist.js

我正在尝试将chartist.js与我的流星应用程序一起使用。我将代码放在Template.reportPage.onRendered()中,以便在插入模板DOM后生成条形图。我尝试发出警报,并发现它从未被调用过。我在Template.reportPage.helpers中也有一个帮助器定义,运行正常。

我收到了错误:

[Error] TypeError: undefined is not a function (evaluating 'Template.reportPage.onRendered')
    (anonymous function) 

这是我的代码:

Template.reportPage.onRendered(function(){
    var data = {};
    var orders = Orders.find({
        created_at: {
            //query for month 3
            $gt: new Date(2015, 2, 0),
            $lte: new Date(2015, 3, 0)
        }
    }, {sort: {created_at: 1}} ).fetch(); //ascending

    data.series = [[]];

    var noOfDays = new Date(2015,3,0).getDate()

    data.labels = _(noOfDays).times( function(n) {
        data.series[0][n] = 0;
        return n+1;
    });

    orders.forEach(function(order, index, array){
        var date = order.created_at.getDate();
        data.series[0][date-1]++;
    });
    console.log(data);
    alert('comon');
    new Chartist.Bar('#orderVsTime', data); //put chart in element with #orderVsTime

 });

1 个答案:

答案 0 :(得分:4)

从流星版1.0.4开始,新增了onRendered方法。你确定你的应用程序的版本是1.0.4吗?如果没有,请尝试通过meteor update进行更新。如果您不想更新,可以尝试弃用的版本:

Template.reportPage.rendered = function () {
  // your code 
}