2016-10-18 3 views
0

각도를 사용하여 여러 차트에서 동적으로 차트를 만들 때 문제가 있습니다.각도로 다른 차트를 조작하는 방법

HTML :

. 
. 
<body> 
<div> 
    <div> 
     <div ng-app="app"> 
      <div ng-controller="barCtrl"> 
       <canvas id="bar" class="chart chart-bar ng-isolate-scope" 
        chart-data="data" chart-labels="labels" chart-series="series"> 
       </canvas> 
      </div> 
      <div ng-controller = "lineCtrl"> 
       <canvas id="line" class="chart chart-line ng-isolate-scope" 
        chart-data="data" chart-labels="labels" chart-series="series"> 
       </canvas> 
      </div> 
     </div> 
    </div> 
</div> 
</body> 

자바 스크립트 :

angular.module("app", ["chart.js"]).controller("lineCtrl", function ($scope, $http) { 
    var jsondata = []; 
    var jsonLabel = []; 
    $http.get(url).then(function (response) { 
     var count = 0; 
     for (var i = 0; i < response.data.length; i++) { 
      var j = response.data[i].Not_fully_compliant; 
      var k = response.data[i].Policy; 
      count += 1; 
      jsondata.push(j); 
      jsonLabel.push(count); 
     } 
    }); 

    $scope.labels = jsonLabel; 
    $scope.series = ['JSON object']; 
    $scope.data = [ 
     jsondata 
    ]; 
}); 

angular.module("app", ["chart.js"]).controller("barCtrl", function ($scope, $http) { 
    var jsondata = []; 
    var jsonLabel = []; 
    $http.get(url).then(function (response) { 
     var count = 0; 
     for (var i = 0; i < response.data.length; i++) { 
      var j = response.data[i].Not_fully_compliant; 
      var k = response.data[i].Policy; 
      count += 1; 
      jsondata.push(j); 
      jsonLabel.push(count); 
     } 
    }); 

    $scope.labels = jsonLabel; 
    $scope.series = ['JSON object']; 
    $scope.data = [ 
     jsondata 
    ]; 
}); 

나는 겨-컨트롤러를 조작하려고했지만 그것이 작동하지 않습니다. 스크립트로 동적으로 코드의 일부를 선택하기 위해 다른 ng-app = "이름"을 지정하려고했습니다.

스크립트 기능 : JSON 개체가 생성 된 페이지에 연결하여 정보를 추출하여 차트에 넣습니다. 나는 웹상에서 유용하다고 생각하고 있었지만 여러 차트를 보여주는 정답을 찾을 수 없었다.

이 튜토리얼을 사용하여 차트를 만들었습니다 : http://jtblin.github.io/angular-chart.js/ . 그러나 페이지를 검사하고 그 사람이 동일한 각형 응용 프로그램에서 다른 차트를 조작 할 수있는 방법을 해결하려고 시도한 후에도 여전히 작동하지 않습니다.

오류 : 나는 그것이 보이는 방법을 제시하지만

This is the error output from the console

, 나는 여기에 내 모든 HTML 코드를 넣지 않은 것을 알하시기 바랍니다.

많은 도움에 감사드립니다.

+0

가능 바이올린을 만들 수 있다는 것입니다? – Manikandan

답변

2
당신은 다시 모듈을 선언 두 개의 서로 다른 컨트롤러와 같은 모듈을 사용 해달라고

,

angular.module("app").controller("barCtrl", function ($scope, $http) { 
} 

DEMO

+0

다른 컨트롤러를 어떻게 사용할 수 있습니까? 그럴 수 있습니다 : .controller ("1", "2", Function() {} – Maltesse

+0

@Maltesse는 데모를 확인합니다 – Sajeetharan

+0

감사합니다. 내가 코멘트를 게시 할 때 데모를 보지 못했습니다. . 이전에 작동하지 않는 이유를 곧 설명 할 수 있습니까? – Maltesse

관련 문제