Javascript 角度海图和ng网格标头不考虑帧宽度
我有几个利用highcharts插件和指令的图表,以及通过我的应用程序使用ng grid的表格。在查看主页后直接查看带有图表或表格的页面时,图表和表格不考虑其框架宽度,并扩展到1900px的宽度(请参见图:)。刷新页面一次后,图表和网格将按其应该的方式适合其框架。是什么导致了这个问题 下面的代码,请告诉我是否有其他代码会有所帮助。谢谢 其中一个违规页面的HTML:Javascript 角度海图和ng网格标头不考虑帧宽度,javascript,css,angularjs,highcharts,ng-grid,Javascript,Css,Angularjs,Highcharts,Ng Grid,我有几个利用highcharts插件和指令的图表,以及通过我的应用程序使用ng grid的表格。在查看主页后直接查看带有图表或表格的页面时,图表和表格不考虑其框架宽度,并扩展到1900px的宽度(请参见图:)。刷新页面一次后,图表和网格将按其应该的方式适合其框架。是什么导致了这个问题 下面的代码,请告诉我是否有其他代码会有所帮助。谢谢 其中一个违规页面的HTML: <div class="col-md-7" id="chart"> <div class="panel p
<div class="col-md-7" id="chart">
<div class="panel panel-default">
<div class="panel-heading" ng-init="isCollapsed = false">
<div class="panel-title">
Top 8 Drugs by 2013 Revenue
<button class="pull-right btn btn-xs" ng-click="isCollapsed = !isCollapsed"><span
class="text-center"
ng-class="{'fa fa-plus': isCollapsed, 'fa fa-minus': !isCollapsed}"></span></button>
</div>
</div>
<div class="panel-body" collapse="isCollapsed" ng-if="Revenues[0].evaluate_productRevenue2013 > 0">
<div class="col-xs-12" ng-cloak>
<highchart id="company-chart-overview-1" config="chartConfig"></highchart>
</div>
<div class="row-fluid col-xs-offset-5">
<div class='my-legend'>
<div class='legend-title'>RxScore Safety Indicator </div>
<div class='legend-scale'>
<ul class='legend-labels'>
<li><span style='background:#008000;'></span>Low</li>
<li><span style='background:#FFFF00;'></span></li>
<li><span style='background:#E69628;'></span></li>
<li><span style='background:#FF0004;'></span>High</li>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
ng网格选项:
var tmp = companyChartService.getOverviewChart(Revenues.slice(0, 8));
$scope.colDefs = companyGridService.getColDefs();
$scope.ToolTipper = tooltipService.getTooltip;
$scope.colDefs = companyGridService.getColDefs();
$scope.myData = Revenues;
$scope.gridOptions = {
data: 'myData',
enableSorting: true,
enableColumnResize: true,
showGroupPanel: true,
enableCellGrouping: true,
showColumnMenu: true,
enablePinning: true,
showFilter: true,
jqueryUITheme: true,
//cellClass: 'drugName',
columnDefs: 'colDefs'
//rowClass: 'drugName'
};
这个问题是由错误的css规则引起的,这些规则与ng class指令一起应用。css直到新状态加载后才被删除,因此即使它不可见,也会影响ng grid和highcharts用来确定其大小的页面宽度。在重写css并删除ng类之后,问题得到了解决 ng grid教程中重点介绍了针对类似问题的其他几种可能的解决方案:
尝试在控制台中调用window.resize()。NGGrid2.x有一个错误,它具有即时渲染和非固定宽度。如果这样可以修复渲染,那么可能会有一个快速的黑客来修复它。谢谢,当我将window.resize()放入一个超时为2000或更多的超时块中时,它会工作,并且它还会闪烁扩展的网格/图表,所以这不是一个理想的解决方案。我尝试过在你的一篇教程中提出的ng if解决方案,但也没有效果。
var tmp = companyChartService.getOverviewChart(Revenues.slice(0, 8));
$scope.colDefs = companyGridService.getColDefs();
$scope.ToolTipper = tooltipService.getTooltip;
$scope.colDefs = companyGridService.getColDefs();
$scope.myData = Revenues;
$scope.gridOptions = {
data: 'myData',
enableSorting: true,
enableColumnResize: true,
showGroupPanel: true,
enableCellGrouping: true,
showColumnMenu: true,
enablePinning: true,
showFilter: true,
jqueryUITheme: true,
//cellClass: 'drugName',
columnDefs: 'colDefs'
//rowClass: 'drugName'
};