1

嗨,我正在使用Chartjs 2.1.3并尝试绘制图表。我使用的是旧版本 1.0.3,它工作正常,但在我尝试时没有用虚线绘制。然后我才知道 BorderDash 属性提出了 Chartjs 2.0。但是当我使用 chartjs 2.1.3 时,它没有绘制任何图表。我正在使用自定义角度指令和chart.js。我在谷歌搜索时看到了一些例子,但它没有帮助我。有人可以帮我用虚线绘制图表吗?

Chartjs 指令

'use strict';

angular.module('chartjs-directive', []).
  directive('chart', function () {
    var baseWidth = 450;
    var baseHeight = 296;

    return {
      restrict: 'E',
      template: '<canvas></canvas>',
      scope: {
        chartObject: "=value"
      },
      link: function (scope, element, attrs) {
        var canvas  = element.find('canvas')[0];
        var context = canvas.getContext('2d');
        var chart;

        var options = {
          type:   attrs.type   || "Line",
          width:  attrs.width  || baseWidth,
          height: attrs.height || baseHeight
        };
        canvas.width = options.width;
        canvas.height = options.height;
        chart = new Chart(context);

        scope.$watch(function(){ return element.attr('type'); }, function(value){
          if (!value) return;
          options.type = value;
          var chartType = options.type;
          if(typeof scope.chartObject !== 'undefined'){
            chart[chartType](scope.chartObject.data, scope.chartObject.options);
          }
          chart[chartType](scope.chartObject.data, scope.chartObject.options);
        });

        //Update when charts data changes
        scope.$watch(function() { return scope.chartObject; }, function(value) {
          if (!value) return;
          var chartType = options.type;
          chart[chartType](scope.chartObject.data, scope.chartObject.options);
          if (scope.chartInstance) scope.chartInstance.destroy();
          scope.chartInstance = chart[chartType](scope.chartObject.data, scope.chartObject.options);
        }, true);
      }
    }
  });

CDNhttps ://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.1.3/Chart.min.js

得到错误

chart[chartType] 不是函数

4

0 回答 0