将 html 中的值发送到 angularjs 中的控制器。范围问题?

Sending a value from html to controller in angularjs. Issue with scope?

我有一个网络应用程序设置为使用 highcharts-ng 指令显示图表。

我有相同类型的图表,在多个视图上显示相同系列的数据。图表之间的唯一区别是我希望在 html 标记中初始化图表时能够设置的高度值。

我是这样设置的:

highcharts-ng 指令是通过 bower 安装的。

我按如下方式初始化我的图表:

<div ng-controller="AgeChartController" >
    <highchart diagramHeight="500" id="{{link + '_chart'}}" config="ageChartConfig">
</highchart></div>

在我的 AgeChartController 中,我执行以下操作:

然而,当我在其他地方声明我的图表并将 diagramHeight 设置为 200 时:

<div ng-controller="AgeChartController">
    <highchart diagramHeight="200" id="{{link + '_chart'}}" config="ageChartConfig">
</highchart></div>

两个值中只有一个被拉出,我的图表在所有图表中设置相同(高度 500)。为什么是这样?这与我的范围有关吗?我是 angular 的新手,但仍在了解范围。

您应该使用 angular 工厂来配置图表

app.factory('chartname', function () {
    var agechart={   // your all chart option here
        .
        .
   }
   return agechart;
});

你现在可以像

一样在任何控制器中使用上面的工厂
app.controller("controllername",function(chartname){
   $scope.ageChartConfig=chartname;
});