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