2016-04-14 24 views
0

Temel bir CanvasJS komut dosyasını meteor biçimine dönüştürmeye çalışıyorum, böylece gerçek zamanlı veriler üzerinde oluşturulmuş bir uygulamaya reaktif bir grafik ekleyebilirim. Ancak kodu dönüştürdüğümde, işlendiğinde boş çıkıyor. Bu noktada, çalışmanın statik görünümünü elde etmek için sayfayı dinamik olarak güncelleyen "zamanlayıcı" kodunu kaldırdım. Şablonun nasıl kullanılacağına dair ipuçlarınız varsa, o zaman harika olacak şekilde zamanlama özelliğini yaratın (denenmiş ve başarısız olmuş). peşinCanvasJS dönüşümü çalışmıyor MeteorJS

HTML ve aşağıdaki JS ... teşekkürler

Orijinal kod http://canvasjs.com/docs/charts/how-to/creating-dynamic-charts/

index.html @:

<head> 
    <script src="http://canvasjs.com/assets/script/canvasjs.min.js"></script>  
</head> 
<body> 
    {{> canvaschart}} 
</body> 

<template name="canvaschart"> 
    <div class="chartContainer" style="height: 300px; width: 600px;"></div> 
</template> 

index.js kodu:

if (Meteor.isClient) { 

    Meteor.startup(
     function() { 
      new CanvasJS.Chart('.chartContainer', chartconfig); 
    }); 

    //var dps for dyno chart 
    var dps = [{x: 1, y: 10}, {x: 2, y: 10}, {x: 3, y: 10}, {x: 4, y: 10}, {x: 5, y: 10}]; //dataPoints. 

    var chartconfig = 
     { 
      title :{ 
       text: "Live Data" 
      }, 
      axisX: {       
       title: "Axis X Title" 
      }, 
      axisY: {       
       title: "Units" 
      }, 
      data: [{ 
       type: "line", 
       dataPoints : dps 
      }] 
     }; 
}; 

cevap

0

Sen kodu Meteor.startup'da çalıştırın. Bu yöntem herhangi bir şablon oluşturulmadan önce yürütülür, böylece konteyner diviniz henüz DOM'de değil. Kodu, şablonunuzun onRendered yönteminde çalıştırmanız gerekir. Başka bir deyişle, hala

Template.canvaschart.onCreated(function() {...}); 
Denedim
+0

ama hiçbir işleme ile

Meteor.startup(function() {...}); 

değiştirin. Çalışmakta olup olmadığını görmek için Chartist grafiğe ekledim (html'de bir şablon dahil); ve iyi işlenmiş. Tuhaf olan şey, CanvasJS grafiğinin oluşmamasıdır, ancak Firefox'ta "Elementi Kontrol Edersem" görünür. IE denedim ve o da işlemez. Eğer bir meteor olmayan html dosyasında düz javascript yaparsam, gayet iyi çalışır. Şimdi sadece bir kayıp var ... – GVG

+0

Ben bunu çözdüm ... kodu Template.canvaschart.OnRendered içine taşındı ... şimdi iyi çalışıyor. – GVG