如果{{user.userName}}为空,我可以在div中显示替代文本吗?

时间:2014-05-02 12:58:20

标签: angularjs

在我的文中我有代码:

<div>{{ user.userName }}</div>

我有没有办法让这个显示消息&#34;请登录&#34;如果user.userName为null。注意我想在客户端而不是控制器中编写此业务逻辑。

4 个答案:

答案 0 :(得分:8)

<div>{{ user.userName || 'alternate text' }}</div>
<br>

&#13;
&#13;
<html>

<head>
  <script data-require="angular.js@*" data-semver="1.3.0-beta.5" src="https://code.angularjs.org/1.3.0-beta.5/angular.js">
  </script>
  <link rel="stylesheet" href="style.css" />

</head>

<body ng-controller="test">

  <span>{{user.name || "alt text"}}</span>
  <script>
    var app = angular.module("app", []);

    app.controller("test", function($scope) {});

    angular.bootstrap(document, ["app"]);
  </script>
</body>

</html>
&#13;
&#13;
&#13;

答案 1 :(得分:5)

您可以通过多种方式实现:

<div>{{ methodForTextDisplay(user.userName) }}</div>

或者:

<div>{{user.userName || "some default text"}}</div>

或者:

<div ng-show="user.userName" >{{ user.userName }}</div>
<div ng-show="!user.userName" >Default text</div>

答案 2 :(得分:0)

<div ng-if="user.userName">{{user.userName}}</div>
<div ng-if="!user.userName">Please login"</div>

答案 3 :(得分:0)

我知道我来晚了,但是对于我们正在测试布尔值的情况,我们可以这样做:

{{ user.active ? 'Active' : 'inactive' }}

在您的情况下,我们可以这样做:

{{user.userName? user.userName: 'alternate text'}}