ng-show在页面加载时可见

时间:2019-01-23 05:36:23

标签: html angularjs

页面加载消息到来时,由于活动值最初为false而消失。我尝试了ng-if,ng-cloak,但没有成功:

HTML

<div ng-show="!item.active" class="dialog-expired-calculation alert alert-danger" role="alert" ng-cloak>
    <h4 class="redText boldText" translate="parkingPlace.inactive-title"></h4>
</div>

TS

 calculations.forEach(calc => {
        calc.active = version.active;
  });

4 个答案:

答案 0 :(得分:1)

假设您使用的是1.x角形-您可以定义一个loading标志,只要它是真实的即可隐藏/显示所需的屏幕部分。

类似的事情可能会起作用-

// at the top of the page
$scope.loading = true;

// make your http calls, calculations, etc.
calculations.forEach(calc => {
    calc.active = version.active;
});


// once all http calls and calculations are done
$scope.loading = false;

// HTML

<div ng-show="!loading && !item.active" class="dialog-expired-calculation alert alert-danger" role="alert" ng-cloak><h4 class="redText boldText" translate="parkingPlace.inactive-title"></h4></div>

或者除了ng-if之外,您还可以使用ng-show

<div ng-if="!loading" ng-show="!item.active" class="dialog-expired-calculation alert alert-danger" role="alert" ng-cloak><h4 class="redText boldText" translate="parkingPlace.inactive-title"></h4></div>

答案 1 :(得分:0)

您是否尝试在init中声明它?

init() { $scope.item.active = true };
init();

答案 2 :(得分:0)

它对我来说具有以下更改,因为页面加载之前从设置为true的控制器布尔值中获取数据之前出现了一段时间,并且消息出现了一段时间

TS: calc.active = version.active; calc ['showmessage'] =!version.active;

HTML: ng-show =“ item.showmessage”

答案 3 :(得分:-1)

Angular2 +中没有localhost。如下使用ngIf:

ng-show