Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.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 角度中的变量templateURL_Angularjs_Templates - Fatal编程技术网

Angularjs 角度中的变量templateURL

Angularjs 角度中的变量templateURL,angularjs,templates,Angularjs,Templates,我只在angular上工作了2周,对这个框架来说是相当新的 我正在制作一个通过图表显示数据的应用程序,我希望数据可以在不同的图表类型中查看。这个想法是,您可以单击一个按钮并交换图表类型 我这样做的方式是通过使用templateURL的指令呈现图表。不幸的是,我无法创建templateURL变量。我尝试过不同的方法,结果如下: main.html: <chart charttype="{{chartType}}"></chart> 控制器: $scope.chartTyp

我只在angular上工作了2周,对这个框架来说是相当新的

我正在制作一个通过图表显示数据的应用程序,我希望数据可以在不同的图表类型中查看。这个想法是,您可以单击一个按钮并交换图表类型

我这样做的方式是通过使用templateURL的指令呈现图表。不幸的是,我无法创建templateURL变量。我尝试过不同的方法,结果如下:

main.html:

<chart charttype="{{chartType}}"></chart>
控制器:

$scope.chartType = "lineChart";

$scope.ChangeChart = function (chartType) {
  $scope.chartType = chartType;
}
代码应该呈现3个不同的html文件(lineChart.html、barChart.html和pieChart.html)。但是,{{chartType}}被简单地解析为字符串

当我使用:

<chart charttype="lineChart"></chart>

无论出于何种原因,我都无法使charttype属性变为变量

我还意识到这可能更像是一种解决角度问题的rails方法(我习惯于渲染局部)。所以,也许这不是在角度上做到这一点的方法。我曾经考虑过其他方法,比如隐藏/显示图表,但我觉得这很难看。不过我愿意接受任何建议

更新1:

因此,我试图通过ng include以我能想到的所有方式呈现它,但它一直给我错误,或者根本没有显示任何东西

我还尝试将ng include直接放入我的html文件中

<div ng-include="views/partials/lineChart.html"></div>

然而,在我的浏览器中,我看到它只是注释了这一行

更新2:


我无法让ng include使用变量模板。所以我决定通过删除模板并在html文件中使用ng hide来解决这个问题

指令
templateUrl
参数无法获取变量值作为参数,只能获取静态文本。如果需要,我可以在指令
模板
参数中显示带有ng include指令的解决方案。

一旦设置了模板url,就不会再次调用它。将
ng include
与变量模板一起使用

差不多


template:“

我以前尝试过ng include解决方案,但不管出于什么原因,图表都不会显示出来。我怀疑angular-chart.js在这种方法上有问题。但是我想看看你的solution@mischa如果直接引用url,则需要将其置于引号中,如
。表达式在当前作用域的上下文中求值。
<div ng-include="views/partials/lineChart.html"></div>