【发布时间】:2016-10-03 14:31:34
【问题描述】:
我在使用 AngularJS 时遇到了困难。我试图将我的一些纯 html 工作转换为 angularjs。我的更新功能不适用于 AngularjS
这个带有纯 html 的工作代码:每当我从下拉列表中进行选择时,它都会更新得很好。
<div id="year" class="btn-group">
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
<span class="selection" data-selection="Year">Select Year</span><span class="caret"></span>
</button>
<ul class="dropdown-menu multi-level" role="menu" aria-labelledby="dropdownMenu">
<li class="dropdown-submenu year">
<a tabindex="-1" href="#" >2011</a>
</li>
<li class="dropdown-submenu year">
<a tabindex="-1" href="#" >2012</a>
</li>
d3.selectAll('.dropdown-submenu.year > a').on("click", function(d) {
year = this.text;
chartsUpdate();
});
这里尝试使用 AngularJS 实现相同的目标:
Year:
<select class="YearSelector">
<option ng-repeat="year in chart_data | unique: 'FiscalYear' | orderBy:'FiscalYear'" >
{{ year.FiscalYear }}</option>
</select>
d3.selectAll('.YearSelectors').on("click", function (d) {
FiscalYear = this.text;
chartsUpdate();
});
更新,这里是我的 chartsUpdate() 函数:
function chartsUpdate() {
myChart.data = getData(data, FiscalYear, Quarter);
myChart.draw(500);
}
我尝试了多种方法,但都没有奏效,我觉得我在做一些非常基本的错误。我还是 html 和 angularjs 的新手。 提前感谢您的任何帮助或建议
【问题讨论】:
-
你应该在你选择调用chartsUpdate时使用ng-change...你也应该考虑ngoptions而不是ng-repeat。
标签: javascript html angularjs d3.js