使用AngularJs服务将JSON数据绑定到Morris linechart指令中
我正在尝试使用webapi显示折线图。静态数据显示成功,但当我试图通过调用服务绑定JSON数据数组时,它没有显示 当我将静态数据绑定到chart_options.data中时,工作正常 我做错了什么 mycontroller.js使用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:[],
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'
});
};
});