我有一个复选框,在点击时显示/隐藏图表。当我在控制器中更改其单击属性时,单击按钮但图形不会显示。
我使用的html部分如下;
<div class="panel panel-default">
<div class="col-xs-6 col-md-4">
Graph
<input type="checkbox" ng-model="visibleGraph" id="graph_check">
</div>
</div>
<div class="panel panel-default" ng-show="visibleGraph">
<div class="panel-heading">Graph</div>
<div class="panel-body">
<canvas id="line" class="chart chart-line" chart-data="graph_data"
chart-labels="graph_labels" chart-series="series" chart-options="options"
chart-dataset-override="datasetOverride" chart-click="chartClicked">
</canvas>
</div>
</div>
以及我如何在控制器中设置其值;
document.getElementById("graph_check").checked=true;
我有什么遗失的吗?
答案 0 :(得分:2)
直接从jQuery处理scope
/ DOM
值不会使AngularJS摘要周期系统更新以更新页面上的绑定,在这种情况下,您必须手动运行摘要周期(尽管更新scope
来自控制器的/ DOM
是反模式的。
您可以直接设置visibleGraph
值,尽管在DOM中设置了值。
$scope.visibleGraph = true
另外,我强烈建议您阅读“Thinking in AngularJS” if I have a jQuery background?"