我有一个角度引导$modal
,里面有ui-grid
指令。第一次打开模态没有问题。第二次,ui-grid容器元素似乎最初都有offsetWidth/Height
0,这会弄乱它的内部高度计算 - 网格没有正确渲染,而父div现在400px更高。
使用ui-grid auto-resizing作品,但我渴望避免这种性能耗尽的事件。如果我不得不使用它,我会去辩论,无论如何我都可以,但我正在寻找更好的解释。
通过CSS将宽度/高度应用于网格指令并不起作用。
通过内联style
应用宽度/高度确实有效。
似乎第二次,模态渲染速度比css可以应用得快?我不知道为什么会这样。
调试ui-grid
内的元素宽度(使用offsetWidth / Height)总是在第一次显示正确的值,但后续的开头显示所有值为" 0"
使用Angular 1.3.15,angular-bootrstrap 0.12.1,ui-grid 3.0.0rc2
调用模态:
$modal.open({
templateUrl: 'someModal.html',
controller: 'SomeModalController'
});
模板有一些表单字段和指令:
<div style="width:367px;height:122px;" ui-grid="gridOptions" ui-grid-selection class="grid"></div>
在主要的ui-grid指令的post
方法中,元素的offsetWidth / Height第二次总是为零,但如果我使用setTimeout
进行10ms
,正确报告尺寸。
答案 0 :(得分:0)
由于这是在每次初始加载后发生的,所以它与您自己说的一样,是时间问题。通过setTimeout,debounce或ui-grid-auto-resizing解决。
答案 1 :(得分:0)
看看模态教程中的代码 - 它设置超时然后调用grid.handleResize。这可能就是你所需要的。 http://ui-grid.info/docs/#/tutorial/110_grid_in_modal