在ng-cloak之后执行指令功能

时间:2016-12-26 08:57:30

标签: javascript angularjs angularjs-directive ngcloak

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

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

我试过

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

或者

$timeout(function(){}

但结果相同。

任何人都知道这个功能或事件吗?

感谢。

1 个答案:

答案 0 :(得分:0)

这个解决方案对我有用:

添加" data-ng-init"使用ng-cloak在你体内的div中调用函数。

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

在app.controller中,定义此功能并在&#34; else&#34;中添加您的代码。子句:

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

希望这有帮助。