使用AngularJs服务将JSON数据绑定到Morris linechart指令中

使用AngularJs服务将JSON数据绑定到Morris linechart指令中,angularjs,angularjs-directive,angularjs-service,Angularjs,Angularjs Directive,Angularjs Service,我正在尝试使用webapi显示折线图。静态数据显示成功,但当我试图通过调用服务绑定JSON数据数组时,它没有显示 当我将静态数据绑定到chart_options.data中时,工作正常 我做错了什么 mycontroller.js myApp.controller('connectionSummaryController', function ($scope, connectionService) { $scope.chart_options = { data:[],

我正在尝试使用webapi显示折线图。静态数据显示成功,但当我试图通过调用服务绑定JSON数据数组时,它没有显示

当我将静态数据绑定到chart_options.data中时,工作正常

我做错了什么

mycontroller.js

myApp.controller('connectionSummaryController', function ($scope, connectionService) {

    $scope.chart_options = {
        data:[],    
        xkey: 'RegistedDay',
        ykeys: ['SubsriberRegisted'],
        labels: ['SubsriberRegisted'],
        parseTime: false
    };

    connectionService.getSubscriberLastWeek()
        .then(function (resp) {

 //dumy data (we will call services here and will bind data into chart_options.data )
            $scope.chart_options.data = [{
                "RegistedDay": "Monday",
                "SubsriberRegisted": 500
            }, {
                "RegistedDay": "Tuesday",
                "SubsriberRegisted": 24
            }, {
                "RegistedDay": "III",
                "SubsriberRegisted": 3
            }, {
                "RegistedDay": "IV",
                "SubsriberRegisted": 12
            }, {
                "RegistedDay": "V",
                "SubsriberRegisted": 13
            }, {
                "RegistedDay": "VI",
                "SubsriberRegisted": 22
            }, {
                "RegistedDay": "VII",
                "SubsriberRegisted": 5
            }];
        })
myapp.directive('linechart', function () {

      function createChart(el_id, options) {

      console.log(options);
          options.element = el_id;
          var r = new Morris.Line(options);
          return r;
      }

      return {
          restrict: 'E',
          scope: {
              options: '='
          },
          replace: true,
          template: '<div></div>',
          link: function (scope, element, attrs) {
              return createChart(attrs.id, scope.options)
          }
      }

  })
myApp.service("connectionService", function myfunction($http) {

    this.getSubscriberLastWeek = function (Id) {
        return $http({
            method: 'GET',
            url: baseURL + 'Api/Connect/SubscriberLastWeek/1'
        });
    };

});
)

linechart.js

myApp.controller('connectionSummaryController', function ($scope, connectionService) {

    $scope.chart_options = {
        data:[],    
        xkey: 'RegistedDay',
        ykeys: ['SubsriberRegisted'],
        labels: ['SubsriberRegisted'],
        parseTime: false
    };

    connectionService.getSubscriberLastWeek()
        .then(function (resp) {

 //dumy data (we will call services here and will bind data into chart_options.data )
            $scope.chart_options.data = [{
                "RegistedDay": "Monday",
                "SubsriberRegisted": 500
            }, {
                "RegistedDay": "Tuesday",
                "SubsriberRegisted": 24
            }, {
                "RegistedDay": "III",
                "SubsriberRegisted": 3
            }, {
                "RegistedDay": "IV",
                "SubsriberRegisted": 12
            }, {
                "RegistedDay": "V",
                "SubsriberRegisted": 13
            }, {
                "RegistedDay": "VI",
                "SubsriberRegisted": 22
            }, {
                "RegistedDay": "VII",
                "SubsriberRegisted": 5
            }];
        })
myapp.directive('linechart', function () {

      function createChart(el_id, options) {

      console.log(options);
          options.element = el_id;
          var r = new Morris.Line(options);
          return r;
      }

      return {
          restrict: 'E',
          scope: {
              options: '='
          },
          replace: true,
          template: '<div></div>',
          link: function (scope, element, attrs) {
              return createChart(attrs.id, scope.options)
          }
      }

  })
myApp.service("connectionService", function myfunction($http) {

    this.getSubscriberLastWeek = function (Id) {
        return $http({
            method: 'GET',
            url: baseURL + 'Api/Connect/SubscriberLastWeek/1'
        });
    };

});