2015-12-28 3 views
1

По какой-то причине этот график не будет рисоваться, когда я попытаюсь сделать это с помощью AngularJS. Кажется, он работает нормально, если я делаю это без AngularJS, поэтому проблема, похоже, связана с ним. Я не получаю никаких ошибок в консоли, поэтому мне нужна помощь.Chart.js не рисуется с AngularJS

http://jsfiddle.net/a3msytdc/

HTML:

<div ng-controller="MyCtrl"> 
     <graph ng-repeat="graph in graphs" data="graph.data"></graph> 
</div> 

JS:

var myApp = angular.module('myApp',[]); 

myApp.controller('MyCtrl', function($scope) { 
    $scope.graphs = [ 
     { 
      data: [1, 2, 3, 4, 5, 6, 7,8,9],  
     } 
    ]; 
}); 

myApp.directive('graph', function() { 
    return { 
     restrict: 'E', 
     scope: { 
      data: '=' 
     }, 

     template: "<canvas></canvas>", 
     link: function(scope, elem, attrs) { 
       console.log(scope); 
      var ctx = elem.children()[0].getContext("2d"); 

      var lineChartData = { 
       datasets: [{ 
       data: scope.data, 
       }] 
      }; 

      var graph = new Chart(ctx, { 
       type: "bubble", 
       data: lineChartData, 
     }); 
     } 
    }; 
}); 
+0

Я ничего не знаю о Chart.js, но мне интересно, что вы ожидаете увидеть в своем теге . – jbrown

+0

http://jsfiddle.net/amsjy4Lb/2/ Как вы можете видеть, он рисует отлично без AngularJS. – damnputer

+0

Я не вижу никакой разницы между двумя jsfiddles – jbrown

ответ

1

Хорошо, вот ваш обновленный jsfiddle

Похоже, вы сделали несколько ошибок описания data и ng-repeat был избыточным.

+0

Хорошо, спасибо за его исправление, вот окончательное решение, так как я действительно нуждался в том, что ng-repeat: http://jsfiddle.net/vvx107tt/ Я все еще немного озадачен тем, что было первой проблемой, так как я начал работать с примером в http://stackoverflow.com/questions/21468244/dygraphs-not-working-with-ng-repeat это, конечно, другая библиотека графиков, но, похоже, она не требует тех изменений, которые вы внесли в мой код , – damnputer

+0

Я просто следовал примеру без углового вы предоставили – Denis

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