【问题标题】:Angular Chart JS error angular-master.js:114 Error: [$injector:unpr]Angular Chart JS 错误 angular-master.js:114 错误:[$injector:unpr]
【发布时间】:2016-12-29 10:32:29
【问题描述】:

我正在使用 Angular.JS 开发 Chart.js,我的 Angular 应用如下所示

angular.module('inspinia').controller('dashboardController', ['$rootScope', '$scope', '$http','chart.js', function($rootScope, $scope, $http) {
console.log("123");
$scope.labels = ['2006', '2007', '2008', '2009', '2010', '2011', '2012'];
$scope.series = ['Series A', 'Series B'];
$scope.data = [[65, 59, 80, 81, 56, 55, 40],[28, 48, 40, 19, 86, 27, 90]];

我的 HTML 代码如下所示

<div class="text-center">
<canvas id="bar" class="chart chart-bar"chart-data="data" chart-labels="labels"> chart-series="series"
</canvas>
</div>

我收到两个错误

未捕获的类型错误:无法设置未定义的属性“模式”

其他的是

错误:[$injector:unpr]

http://errors.angularjs.org/1.5.0/$injector/unpr?p0=chart.jsProvider%20%3C-hart.js%20%3C-%dashboardController

请帮我解决这个问题

提前致谢

【问题讨论】:

    标签: javascript jquery html angularjs charts


    【解决方案1】:

    确保您正确引用了库,

    工作演示

    (function(angular) {
      'use strict';
      angular.module('myApp', ['chart.js'])
    
      .controller('myController', [function() {
        var ctrl = this;
        ctrl.socialChart = {
          type: 'bar',
            labels: ['2006', '2007', '2008', '2009', '2010', '2011', '2012'],
            series: ['Series A', 'Series B'],
            colors: ['#ED402A', '#F0AB05', '#A0B421', '#00A39F'],
            data :  [[65, 59, 80, 81, 56, 55, 40],[28, 48, 40, 19, 86, 27, 90] ]
          }
    
      }]);
    
    })(window.angular);
    <!DOCTYPE html>
    <html lang="en">
    
      <head>
        <meta charset="UTF-8" />
        <title>Multi Slot Transclude</title>
        <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.0-rc.0/angular.min.js"></script>
        <script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.3.0/Chart.min.js"></script>
        <script src="https://cdnjs.cloudflare.com/ajax/libs/angular-chart.js/1.0.3/angular-chart.min.js"></script>    <script src="app.js"></script>
      </head>
    
      <body ng-app="myApp" ng-controller="myController as ctrl">
        <canvas id="outreach" class="chart chart-bar" 
            chart-labels="ctrl.socialChart.labels" 
            chart-data="ctrl.socialChart.data" 
            chart-series="ctrl.socialChart.series"
            chart-colors="ctrl.socialChart.colors"
            chart-options="ctrl.socialChart.options"></canvas>      
      </body>
    
    </html>

    【讨论】:

    • 感谢您的回答我已经在我的 Angular 应用程序中引用了库。
    • 我已经用你的代码替换了我的代码,但得到了同样的错误
    • @AbhishekParikh 你有teamvieweR吗?
    • 是的,我有 Teamviewer
    • 我可能还犯了一些错误。你的代码在 sn-p 上运行,所以它会很完美。谢谢@Sajeetharan