Javascript 使用ng if有条件地显示元素
我试图在我的网页上显示一个表达式,但前提是变量存在Javascript 使用ng if有条件地显示元素,javascript,angularjs,expression,Javascript,Angularjs,Expression,我试图在我的网页上显示一个表达式,但前提是变量存在 <ul class="nav navbar-nav navbar-right"> <li ng-if="displayUsername()">{{userTest}}</li> </ul> 所以现在我有 <ul class="nav navbar-nav navbar-right"> <li ng-if="displayUsername()">{{userTe
<ul class="nav navbar-nav navbar-right">
<li ng-if="displayUsername()">{{userTest}}</li>
</ul>
所以现在我有
<ul class="nav navbar-nav navbar-right">
<li ng-if="displayUsername()">{{userTest}}</li>
</ul>
该服务返回带引号的“null”值。尝试执行此操作的最佳方法是什么?尝试
返回值:
<ul class="nav navbar-nav navbar-right">
<li ng-if="displayUsername()">{{userTest}}</li>
</ul>
$scope.displayUsername = function () {
$scope.userTest = authService.getUsername();
return $scope.userTest;
}
为此,只需在var上运行ng if
<ul class="nav navbar-nav navbar-right">
<li ng-if="displayUsername()">{{userTest}}</li>
</ul>
在控制器中,您只需声明变量:
<ul class="nav navbar-nav navbar-right">
<li ng-if="displayUsername()">{{userTest}}</li>
</ul>
$scope.userTest = authService.getUsername();
然后,在你看来:
<ul class="nav navbar-nav navbar-right">
<li ng-if="displayUsername()">{{userTest}}</li>
</ul>
<ul class="nav navbar-nav navbar-right">
<li ng-if="userTest">{{userTest}}</li>
</ul>
- {{userTest}
如果您的userTest为null,ng If将为false,否则它将为true,并且此变量将可见。您的$scope.displayUsername
不返回任何内容,因此它始终为ng If='false'
函数不返回布尔值,它只为变量“userTest”设置一个值.最佳方法
修复服务器返回null而不带引号的操作:服务返回一个带引号的“null”值,因此您的解决方案可能是错误的。即使服务器必须返回“null”而不是null,客户端也可以使用简单的if条件来修复它或任何其他东西来绕过它。我只是想用最简单的方法来解决他的问题。
<ul class="nav navbar-nav navbar-right">
<li ng-if="displayUsername()">{{userTest}}</li>
</ul>