Canvas width/height 未在 Internet Explorer 上更新
Canvas width/height not updating on internet explorer
我正在使用 angularchart 在我的网络应用程序中创建图表。
我有这个非常标准的标记,它适用于 firefox 和 chrome:
<div ng-if="visible">
<canvas height="20%" width="80%" style="width: 80%; height: 20%;" id="line_general" class="chart chart-line" chart-data="lineData" chart-legend="true" chart-colours="colours"
chart-labels="lineLabels" chart-series="lineSeries"/>
</div>
它适用于所有屏幕尺寸,如果您缩小屏幕,它会自动调整尺寸。
但是,在 Internet Explorer(我的版本是 10)上它不起作用:它不仅不调整大小,而且生成的图形也很模糊。
我该如何解决?
编辑:
很有趣,罪魁祸首似乎是外面的 ng-if div!通过删除它,它似乎在 ie 上也能正常工作。
不过,我需要那个 ng-if,所以简单地删除它并不能解决我的问题...
已解决。显然,这是由于 ng-if 实际上从 html 中删除了 canvas,因此,在使用新数据更新图形时,它不会更新大小。
我用
创建了一个样式
visibility:hidden;
在其中并使用 ng-class 构造实际上只是隐藏了 canvas 而没有实际删除它。
<div ng-class="visible==true ? 'chart-container' : 'chart-hidden'>
<canvas .../>
</div>
我正在使用 angularchart 在我的网络应用程序中创建图表。
我有这个非常标准的标记,它适用于 firefox 和 chrome:
<div ng-if="visible">
<canvas height="20%" width="80%" style="width: 80%; height: 20%;" id="line_general" class="chart chart-line" chart-data="lineData" chart-legend="true" chart-colours="colours"
chart-labels="lineLabels" chart-series="lineSeries"/>
</div>
它适用于所有屏幕尺寸,如果您缩小屏幕,它会自动调整尺寸。 但是,在 Internet Explorer(我的版本是 10)上它不起作用:它不仅不调整大小,而且生成的图形也很模糊。
我该如何解决?
编辑:
很有趣,罪魁祸首似乎是外面的 ng-if div!通过删除它,它似乎在 ie 上也能正常工作。 不过,我需要那个 ng-if,所以简单地删除它并不能解决我的问题...
已解决。显然,这是由于 ng-if 实际上从 html 中删除了 canvas,因此,在使用新数据更新图形时,它不会更新大小。 我用
创建了一个样式visibility:hidden;
在其中并使用 ng-class 构造实际上只是隐藏了 canvas 而没有实际删除它。
<div ng-class="visible==true ? 'chart-container' : 'chart-hidden'>
<canvas .../>
</div>