2

Template.templatename.rendered 関数で mongodb からデータを取得する方法を知りたいです。他のテンプレートでクリックイベントを試してみましたが、すべて正常に機能し、必要な結果が返されました。しかし、私が必要とするのは、ロード時にチャートをレンダリングすることです。しかし、mongodb からデータを取得できませんでした。

//poll.js

    var drawPollChart = function(){

    //returns data on other template methods except for 
    //Template.templatename.rendered
    var dist = getDistinctQuestionId();
    alert('dist:'+dist);
    var data_x =[];
    for(var i=0; i< 1; i++)
    {
          var count = getDataCount(dist[i]);
            var uniq = getDistinctResponseBucket(dist[i]);
            for(var j=0; j<uniq.length; j++)
            {
                //alert('data:' + count[uniq[j]] + ", label:" + uniq[j]);
                data_x.push({
                    data : count[uniq[j]], 
                    label: uniq[j]
                });
            }
    }

Template.pollChart.rendered = function() {
    //can't draw a thing cause can't get any data from mongodb
    drawPollChart();
};

助けてください?前もって感謝します。

4

1 に答える 1

0

テンプレートがレンダリングされたからといって、DB が接続されているわけではありません。

Meteor.status().status を使用して、接続の状態を検出します。たとえば、Meteor.status().status === 'connected' になるまで pollChart-template のレンダリングを待つことができます。

于 2013-06-10T09:43:03.400 に答える