Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 无法读取“”的属性;标签";未定义的_Javascript_Angularjs_Charts_Bar Chart_Angular Chart - Fatal编程技术网

Javascript 无法读取“”的属性;标签";未定义的

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”} 然后我选择唯一的小时和类型:小时是我的标签,类型是序列。之后,

我想使用chart.js(1.0.2)和angular-chart.js(0.8.5)构建一个简单的条形图。我读了很多其他关于这个问题的文章,但没有任何帮助。因此,情况就是这样:

我从RequestService获取“shipdata”,其中包括一个类型、一个小时以及每种类型和每小时的计数。看起来是这样的:

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()。