Javascript 无法读取“”的属性;标签";未定义的
我想使用chart.js(1.0.2)和angular-chart.js(0.8.5)构建一个简单的条形图。我读了很多其他关于这个问题的文章,但没有任何帮助。因此,情况就是这样: 我从RequestService获取“shipdata”,其中包括一个类型、一个小时以及每种类型和每小时的计数。看起来是这样的:Javascript 无法读取“”的属性;标签";未定义的,javascript,angularjs,charts,bar-chart,angular-chart,Javascript,Angularjs,Charts,Bar Chart,Angular Chart,我想使用chart.js(1.0.2)和angular-chart.js(0.8.5)构建一个简单的条形图。我读了很多其他关于这个问题的文章,但没有任何帮助。因此,情况就是这样: 我从RequestService获取“shipdata”,其中包括一个类型、一个小时以及每种类型和每小时的计数。看起来是这样的: Object{hour:“0”,type:“9”,count:“66”} 对象{小时:“0”,类型:“3”,计数:“195”} 然后我选择唯一的小时和类型:小时是我的标签,类型是序列。之后,
Object{hour:“0”,type:“9”,count:“66”}
对象{小时:“0”,类型:“3”,计数:“195”}
然后我选择唯一的小时和类型:小时是我的标签,类型是序列。之后,我构建了数据数组。这样做效果非常好,因此我最终得出以下结论:
$scope.标签:[“0”、“1”、“2”、“3”、“4”、“5”、“6”、“7”、“8”、“9”、“10”、“11”、“12”、“17”、“18”]
$scope.series:[“0”、“2”、“3”、“4”、“6”、“7”、“8”、“9”]
$scope.data:0:Array[10]1:Array[10]2:Array[10]3:Array[10]4:Array[10]5:Array[10]6:Array[10]7:Array[10]8:Array[10]9:Array[10]10:Array[10]11:Array[10]12:Array[10]17:Array[10]18:Array[10]
我在命令行中打印了这些结果
现在,每次调用$scope.getChartData()函数时,都会出现以下错误:
TypeError:无法读取未定义的属性“标签”
以下是$scope.getChartData()
的代码:
以下是视图:
我多次尝试了angular js github页面()上提供的示例。但是,我不明白为什么他们的示例工作得很好,而我的示例提供的数据完全相同,但我的示例工作得不好。您在服务调用之外初始化标签,为什么不在调用之后尝试初始化 请试着改变这个
var allData = [];
$scope.series = [];
$scope.labels = [];
$scope.data = [[]];
RequestService.getShipTypes(nelat, swlat, nelng, swlng, date, analyse)
.success(function(ships) {
对此
RequestService.getShipTypes(nelat, swlat, nelng, swlng, date, analyse)
.success(function(ships) {
var allData = [];
$scope.series = [];
$scope.labels = [];
$scope.data = [[]];
您正在对服务调用外部初始化标签,为什么不在调用后尝试初始化 请试着改变这个
var allData = [];
$scope.series = [];
$scope.labels = [];
$scope.data = [[]];
RequestService.getShipTypes(nelat, swlat, nelng, swlng, date, analyse)
.success(function(ships) {
对此
RequestService.getShipTypes(nelat, swlat, nelng, swlng, date, analyse)
.success(function(ships) {
var allData = [];
$scope.series = [];
$scope.labels = [];
$scope.data = [[]];
你没有展示你如何称呼你的控制器,一切都好吗?是的,控制器中的其他一切都很好,除了条形图部分,我没有改变任何东西。我通过视图中的一个按钮调用getChartData()。您没有显示如何调用控制器,一切正常吗?是的,控制器中的其他一切工作正常,除了条形图部分,我没有更改任何内容。我通过视图中的按钮调用getChartData()。