2015-08-05 3 views
0

Может ли любое тело сказать мне, как отображать dygraph в listview с использованием json-ответа. Вот мой отклик, из которого мне нужно сделать dygraph..и, изумленный, но его не знал об этом.show dygraph в элементе списка

http://piratepad.net/ep/pad/view/ro.y8PksMhLIhk/latest

это, как я делаю: -

В Мой Index.html: -

<script src="lib/ionic/js/ionic.bundle.js"></script> 

<!-- cordova script (this will be a 404 during development) --> 
<script src="cordova.js"></script> 
<script src="js/dygraph-combined-dev.js"></script> 
<script src="js/dygraph-combined.js"></script> 

<!-- your app's js --> 
<script src="js/app.js"></script> 
<script src="js/controllers.js"></script> 
<script src="js/services.js"></script> 

В Мой home.html: -

<div ng-repeat="entry in listnew"> 
    <div class="bar bar-dark bar-head"> 
     <h2>Basestation {{entry.baseID}} {{entry.nickname}}</h2> 
    </div> 

    <ion-list> 
    <div ng-repeat="scout in entry.scouts"> 
     <div class="wrap_home"> 
      <ion-item class="item-accordion" ng-click="toggleGroup(scout)" 
       ng-class="{active: isGroupShown(scout)}" ng-init="showGraph(scout.tempHistory)"> 
      <div class="row"> 
       <div class="col col-25"> 
        <div class="top_spc"> 
         <b>{{scout.moduleID}}</b> 
        </div> 
       </div> 
       <div class="col col-25"> 
        <div class="top_spc">{{scout.nickname}}</div> 
       </div> 
       <div class="col col-20"> 
        <div class="top_spc temp_mid"> 
         {{scout.temperature}}<sup>o</sup>C 
        </div> 
       </div> 
       <div class="col"> 
        <div class="batt_icon "> 
         <img src="img/battery.png" alt="battery" /> 
        </div> 
       </div> 
       <div class="col"> 
        <div ng-if="scout.power=='0'"> 
         <div class="plug_icon red"> 
          <img src="img/plug.png" alt="plug" /> 
         </div> 
        </div> 
        <div ng-if="scout.power=='1'"> 
         <div class="plug_icon"> 
          <img src="img/plug.png" alt="plug" /> 
         </div> 
        </div> 
       </div> 
      </div> 
      </ion-item> 
      <ion-item class="item-accordion sm-item" 
       ng-show="isGroupShown(scout)"> 
      <div class="sub_detail"> 

       <div class="row"> 
        <div class="col col-50"> 
         <b>{{scout.equipment_type}} </b><span>({{scout.last_report_at}} 
          min ago)</span> 
        </div> 
        <div class="col col-50">{{scout.tempLow}}(L), 
         {{scout.tempHigh}}(A), {{scout.tempAvrg}} (Avg)</div> 
       </div> 
       <div id=graph> 
       </div> 
       </div> 
      </ion-item> 
     </div> 
    </div> 
    </ion-list> 
</div> 

В мой контроллер.js: -

$scope.showGraph = function(data) {     
      g = new Dygraph(document.getElementById("graph"), 
        // For possible data formats, see http://dygraphs.com/data.html 
        // The x-values could also be dates, e.g. "2012/03/15" 
        data, { 
          // options go here. See http://dygraphs.com/options.html 
         legend : 'always', 
         animatedZooms : true, 
         title : 'dygraphs chart template' 
        });     
     }; 

Здесь данные, которые я отобразил в пиратской колодке.
Проблема в том, что я получаю dygraph только по первому предмету, но не на оставшемся.

ответ

1

Здесь вы идете: -

In Your Controller.js Определить: -

$scope.graphs = [ 
 
\t \t \t \t \t \t \t { 
 
\t \t \t \t \t \t \t \t data : data(Place your JavaScript Array here), 
 
\t \t \t \t \t \t \t }, 
 

 
\t \t \t \t \t ]; 
 

 
\t \t \t \t }) 
 

 
.directive(
 
\t \t \t \t 'graph', 
 
\t \t \t \t function() { 
 
\t \t \t \t \t return { 
 
\t \t \t \t \t \t restrict : 'E', 
 
\t \t \t \t \t \t scope : { 
 
\t \t \t \t \t \t \t data : '=', 
 
\t \t \t \t \t \t \t opts : '=' 
 
\t \t \t \t \t \t }, 
 
\t \t \t \t \t \t template : '<div class="graph"></div><div class="labels"></div>', 
 
\t \t \t \t \t \t link : function(scope, elem, attrs) { 
 
\t \t \t \t \t \t \t var graph = new Dygraph(elem.children()[0], 
 
\t \t \t \t \t \t \t \t \t scope.data, scope.opts); 
 
\t \t \t \t \t \t } 
 
\t \t \t \t \t }; 
 
\t \t \t \t });

В вашем home.html определить: -

<ion-list> 
 
\t <div ng-repeat="scout in entry.scouts" > 
 
\t \t <div class="wrap_home"> 
 
\t \t \t <ion-item class="item-accordion" ng-click="toggleGroup(scout,scout.tempHistory)" 
 
\t \t \t \t ng-class="{active: isGroupShown(scout)}" > 
 
\t \t \t <div class="row"> 
 
\t \t \t \t <div class="col col-25"> 
 
\t \t \t \t \t <div class="top_spc"> 
 
\t \t \t \t \t \t <b>{{scout.moduleID}}</b> 
 
\t \t \t \t \t </div> 
 
\t \t \t \t </div> 
 
\t \t \t \t <div class="col col-25"> 
 
\t \t \t \t \t <div class="top_spc">{{scout.nickname}}</div> 
 
\t \t \t \t </div> 
 
\t \t \t \t <div class="col col-20"> 
 
\t \t \t \t \t <div class="top_spc temp_mid"> 
 
\t \t \t \t \t \t {{scout.temperature}}<sup>o</sup>C 
 
\t \t \t \t \t </div> 
 
\t \t \t \t </div> 
 
\t \t \t \t <div class="col"> 
 
\t \t \t \t \t <div class="batt_icon "> 
 
\t \t \t \t \t \t <img src="img/battery.png" alt="battery" /> 
 
\t \t \t \t \t </div> 
 
\t \t \t \t </div> 
 
\t \t \t \t <div class="col"> 
 
\t \t \t \t \t <div ng-if="scout.power=='0'"> 
 
\t \t \t \t \t \t <div class="plug_icon red"> 
 
\t \t \t \t \t \t \t <img src="img/plug.png" alt="plug" /> 
 
\t \t \t \t \t \t </div> 
 
\t \t \t \t \t </div> 
 
\t \t \t \t \t <div ng-if="scout.power=='1'"> 
 
\t \t \t \t \t \t <div class="plug_icon"> 
 
\t \t \t \t \t \t \t <img src="img/plug.png" alt="plug" /> 
 
\t \t \t \t \t \t </div> 
 
\t \t \t \t \t </div> 
 
\t \t \t \t </div> 
 
\t \t \t </div> 
 
\t \t \t </ion-item> 
 
\t \t \t <ion-item class="item-accordion sm-item" 
 
\t \t \t \t ng-show="isGroupShown(scout)"> 
 
\t \t \t <div class="sub_detail"> 
 
\t \t \t 
 
\t \t \t \t <div class="row"> 
 
\t \t \t \t \t <div class="col col-50"> 
 
\t \t \t \t \t \t <b>{{scout.equipment_type}} </b><span>({{scout.last_report_at}} 
 
\t \t \t \t \t \t \t min ago)</span> 
 
\t \t \t \t \t </div> 
 
\t \t \t \t \t <div class="col col-50">{{scout.tempLow}}(L), 
 
\t \t \t \t \t \t {{scout.tempHigh}}(A), {{scout.tempAvrg}} (Avg)</div> 
 
\t \t \t \t </div> 
 
\t \t \t \t <div > 
 
     <graph ng-repeat="graph in graphs" data="graph.data" opts="graph.opts"></graph> 
 
</div> 
 
\t \t \t \t </div> 
 
\t \t \t </ion-item> 
 
\t \t </div> 
 
\t </div> 
 
\t </ion-list>

Dygraph есть некоторые проблемы с нг-повтор Как я прочитал в ссылке данной ниже: -

Dygraphs not working with ng-repeat

Смежные вопросы