Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.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
Angularjs 使用角度图表动态设置图表类型?_Angularjs_Json_Ionic Framework_Charts_Chart.js - Fatal编程技术网

Angularjs 使用角度图表动态设置图表类型?

Angularjs 使用角度图表动态设置图表类型?,angularjs,json,ionic-framework,charts,chart.js,Angularjs,Json,Ionic Framework,Charts,Chart.js,我目前正在使用Ionic框架和AngularChart开发一个数据驱动的应用程序,现在我已经到了UI主要设计的阶段,现在我需要开始考虑如何显示数据以供用户查看。显然,我已经决定使用AngularChart,因为我有一点使用Chart.js和AngularChart的经验,所以它非常有意义 我在沙箱环境中定义了几个静态图表,没有任何问题,但理想情况下,我会设置画布的类,根据我从中提取其余数据的JSON数组中的值来定义图表类型(见下文) 上述JSON数组如下所示: [ { "

我目前正在使用Ionic框架和AngularChart开发一个数据驱动的应用程序,现在我已经到了UI主要设计的阶段,现在我需要开始考虑如何显示数据以供用户查看。显然,我已经决定使用AngularChart,因为我有一点使用Chart.js和AngularChart的经验,所以它非常有意义

我在沙箱环境中定义了几个静态图表,没有任何问题,但理想情况下,我会设置画布的类,根据我从中提取其余数据的JSON数组中的值来定义图表类型(见下文)

上述JSON数组如下所示:

[
    {
        "name": "Fitness",
        "chart_type": "chart chart-line"
    },
    {
        "name": "Performance",
        "chart_type": "chart chart-line"
    },
    {
        "name": "Weightlifting",
        "chart_type": "chart chart-line"
    },
    {
        "name": "Anthropometrics",
        "chart_type": "chart chart-line"
    },
    {
        "name": "Sport specific test",
        "chart_type": "chart chart-line"
    },
    {
        "name": "Sport lab test",
        "chart_type": "chart chart-line"
    } 
]
从菜单中选择其中一个数组元素,并将其存储在控制器中的
$scope.metric
中,下一个屏幕(下面的代码)可以访问该数组元素,以便以正确的图表格式显示数据。显然,目前它们都是相同的,但当我深入到项目中时,它们会有所不同,所以我想尝试动态地进行

应显示图表的视图代码如下所示:

[
    {
        "name": "Fitness",
        "chart_type": "chart chart-line"
    },
    {
        "name": "Performance",
        "chart_type": "chart chart-line"
    },
    {
        "name": "Weightlifting",
        "chart_type": "chart chart-line"
    },
    {
        "name": "Anthropometrics",
        "chart_type": "chart chart-line"
    },
    {
        "name": "Sport specific test",
        "chart_type": "chart chart-line"
    },
    {
        "name": "Sport lab test",
        "chart_type": "chart chart-line"
    } 
]

{{metric.name}
注销
{{metric.name}}分数
知识产权是一种权利,是一种精英的权利,是劳动和财富的暂时性权利。但是,在最低限度上,我们需要一个实验室来进行日常工作。酒后驾车
这是一种不受欢迎的行为,它是一种不受欢迎的行为。除偶尔因疏忽而死亡外,不得因疏忽而导致动物死亡。



因此,在经历了大量的挫折之后,我试图弄明白为什么作用域变量没有按我所希望的方式改变DOM,我回到AngularChartJS文档,找到了一个非常简单的解决方案

如果将画布的类设置为
图表库
,则可以通过简单地为画布提供
图表类型
属性并将其设置为作用域变量调用的任何值来设置图表类型。在我的例子中,这就是我最终得到的结果,当然,
chart\u type
是控制器中保存的变量

<canvas class="chart chart-base" chart-type="chart_type" chart-data="data" chart-labels="labels" chart-series="series" chart-options="options" chart-dataset-override="datasetOverride" chart-click="onClick"></canvas>

因此,在经历了大量的挫折之后,我试图弄明白为什么作用域变量没有按我所希望的方式改变DOM,我回到AngularChartJS文档,找到了一个非常简单的解决方案

如果将画布的类设置为
图表库
,则可以通过简单地为画布提供
图表类型
属性并将其设置为作用域变量调用的任何值来设置图表类型。在我的例子中,这就是我最终得到的结果,当然,
chart\u type
是控制器中保存的变量

<canvas class="chart chart-base" chart-type="chart_type" chart-data="data" chart-labels="labels" chart-series="series" chart-options="options" chart-dataset-override="datasetOverride" chart-click="onClick"></canvas>


您是否检查了控制器中是否定义并初始化了$scope.data、$scope.labels、$scope.series和$scope.options变量?是的,它们都用于在我的沙盒环境中创建结构完全相同的静态图表。自从我使用class={{metric.chart_type}}从JSON派生类以来,问题就出现了;在加载图表的所有代码之后。这有帮助吗?@RobertSteinerIII-我的控制器实际上没有加载图表,它只是提供它从作用域和指示图表类型的类中使用的数据——我将编辑文章,使其包含控制器,以便您可以看到并指示我应该将超时放置在何处,如果您愿意的话。@OllyJohn-尝试放置$timeout(函数(){});$scope.logOut=function()之前。这将导致UI刷新。您的UI可能没有按应有的方式刷新。是否检查了控制器中是否定义并初始化了$scope.data、$scope.labels、$scope.series和$scope.options变量?是的,它们都用于在我的沙盒环境中创建结构完全相同的静态图表。自从我使用class={{metric.chart_type}}从JSON派生类以来,问题就出现了;在加载图表的所有代码之后。这有帮助吗?@RobertSteinerIII-我的控制器实际上没有加载图表,它只是提供它从作用域和指示图表类型的类中使用的数据——我将编辑文章,使其包含控制器,以便您可以看到并指示我应该将超时放置在何处,如果您愿意的话。@OllyJohn-尝试放置$timeout(函数(){});$scope.logOut=function()之前。这将导致UI刷新。您的UI可能没有按应有的方式刷新。重要注意事项是“图表类型”应设置为“条形图”,而不是“图表条形图”。我刚刚注意到文档已在此处更新:-底部是一个称为“动态图表”的部分,这说明了您在这里所写的内容。重要的一点是,“图表类型”应该设置为“条形图”,而不是“图表条形图”。我刚刚注意到文档现在已经在这里更新:-底部是一个称为“动态图表”的部分,它说明了您在这里所写的内容。