所以我有一个关于页面加载时的指令,它将调整内容的大小以适应正确的尺寸。但是,当页面加载时,有一个服务调用会填充此特定内容部分的模型,并且当我获得此元素的高度时,它的大小为 0,因为模型在调整大小时没有更新。我试图在页面加载后立即调整大小,以便用户不会注意到元素在屏幕上四处移动,但如果在模型更新后决定元素的大小,这是不可能的。
有什么方法可以计算消化后部分的高度或获得适当的消化前高度?
myApp.directive('resize', function() {
return function(scope, element) {
var htmlHeight = angular.element("html").height();
var headerHeight = angular.element("#page-header").height();
var dashboardHeight = angular.element(".top-dashboard").height(); // Returns 0 because of pre-loaded data not existing
var totalHeight = htmlHeight - headerHeight - dashboardHeight;
scope.$on('$viewContentLoaded', function() {
element[0].style.height = totalHeight + 'px';
});
}
});
带有指令的html:
<section class="top-dashboard row full" resize>
<div class="small-3" ng-include src="'partials/location.html'"></div>
</section>
更新 1:我认为在加载控制器之前解决数据会处理它,但高度仍然返回 0。
更新 2:也许这是一个包含模板的问题?尤其是看到将其包装在超时中根本没有帮助,也没有解决问题。