gpt4 book ai didi

css - 当放置在选项卡内容中时,angular-nvd3 图形格式错误

转载 作者:太空宇宙 更新时间:2023-11-04 10:14:51 24 4
gpt4 key购买 nike

我想在我的网页上显示饼图和多条形图。我有一个 Controller 来为这些图表设置数据和选项。除了这些图表的格式外,一切都很好。我有以下代码:

<ul class="nav nav-tabs">
<li class="active"><a data-toggle="tab" href="#pieChart">Pie Chart</a></li>
<li><a data-toggle="tab" href="#multiBarGraph">Histogram</a></li>
</ul>
<div class="tab-content">
<div id="pieChart" class="tab-pane fade in active">
<nvd3 options='histOptions' data='histData'></nvd3>
<p>Pie Chart</p>
</div>
<div id="multiBarGraph" class="tab-pane fade">
<p>multiBarGraph</p>
<nvd3 options='histOptions' data='histData' style="height:600px;"></nvd3>
</div>
</div>

我有这个用于导航:enter image description here

输出是:enter image description here这是所希望的。但是只要我点击导航“直方图”查看另一个图表,我就会得到:enter image description here该图被挤压到屏幕的一侧。现在,如果我单击图形或不单击另一个按钮来重新加载数据,格式将更改如下:enter image description here这才是真正需要的。

在这里,如果我重新加载数据(我有一个按钮可以执行此操作)并返回查看我的饼图,那么我会看到:enter image description here我的 pieChart 现在已经被挤压了。

当放置在 tab-content 之外时,每个图形都表现良好。我不知道为什么会这样。我需要一些建议。提前致谢。

最佳答案

经过一些研究,我找到了解决这个问题的方法。这可以使用 nvd3 的 refresh() 函数来解决

代码:

在 html 文件中:

1)在导航按钮上添加点击功能

<li class="active"><a data-toggle="tab" href="#pieChart" ng-click="refreshPie()">Pie Chart</a></li>
<li><a data-toggle="tab" href="#multiBarGraph" ng-click="refreshHist()">Histogram</a></li>

2)为每个图添加api

<nvd3 options='histOptions' data='histData' api="histApi"></nvd3>
<nvd3 options='histOptions' data='histData' api="pieApi"></nvd3>

在 Angular Controller 中:

1)在函数内刷新图表(即点击导航按钮时)

$scope.refreshHist = function(){
setTimeout(function(){
$scope.histApi.refresh();
},200);
};

$scope.refreshPie = function(){
setTimeout(function(){
$scope.pieApi.refresh();
},200);

刷新图形会更正格式。

关于css - 当放置在选项卡内容中时,angular-nvd3 图形格式错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37323027/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com