我的内容使用ng-cloak指令,我想在指令中使用innerHeight()获得元素高度。

但是,当使用innerHeight()时,该元素被ng-cloak隐藏,因此结果始终为0。

我试过了

link: function postLink(scope, element, attrs) {}


要么

$timeout(function(){}


但结果相同。

有人知道这个功能或事件吗?

谢谢。

最佳答案

此解决方案为我工作:

使用ng-cloak在您体内的div中添加“ data-ng-init”函数调用。

<body layout="row" ng-cloak>
  <div ng-controller="PageCtrl" data-ng-init="onloadFunction()">
    ...


在您的app.controller中,定义此函数并将代码添加到“ else”子句中:

$scope.onloadFunction = function() {
  if (angular.element(document.body)[0].className == 'ng-cloak') {
    $timeout(function() {
      $scope.onloadFunction();
    },100);
  } else {
    // Here, page is displayed.
  }
}


希望这可以帮助。

10-07 19:33
查看更多