AngularJS - 获取元素的高度会使我的应用程序崩溃

时间:2015-06-30 20:28:08

标签: javascript angularjs angularjs-directive ng-style

我已经为Google Map创建了一个指令,我希望它能覆盖父容器宽度(工作)的100%以及父容器高度的100%(不适用于css高度: 100%)。但是css不再是我的问题了。 所以我创建了一个方法

getHeightOfMap(){

        if(document.getElementById('mapContainer').offsetHeight<100){
        var containerHeight = document.getElementById('map-canvas').parentNode.parentNode.parentNode.offsetHeight;
        if(containerHeight<100){
            containerHeight = 400;
        }
        return containerHeight+"px";
        }
        return document.getElementById('mapContainer').offsetHeight+"px";
    }

以下是我在html模板中使用它的方法

<div id="mapContainer" style="margin:4px 0 -5px 0;" ng-style="{ 'height' : googleMapsCtrl.getHeightOfMap() }">
    <div id="map-canvas" style="display:block;height:100%;"></div>
</div>

这很好用,但我发现它用于&#34;刷新&#34; ng-style什么杀死了表演(这是AngularJS Batarang所说的),并且在一段时间后应用程序崩溃了。

为什么会这样?我用解决高度问题的方法有什么问题?

0 个答案:

没有答案