【问题标题】:Is it possible to set a default value in an AngularJS expression?是否可以在 AngularJS 表达式中设置默认值?
【发布时间】:2016-02-18 07:30:15
【问题描述】:

我有一个封装在<a> 标记中的AngularJS 表达式。该表达式正在计算 allow 变量。

<a href="#" >{{allow}}</a>

如果 allownullundefined Angular 什么都不会显示。相反,我想显示一个默认字符串。


为了让您更好地理解,这就是我想要实现的目标。

右侧的模态是从左侧的表单生成的。如果用户没有为“允许按钮文本”和“禁止按钮文本”输入任何文本,我想分别显示 ALLOWDON'T ALLOW

这是我的代码:

<div id="test2" class="row"  ng-app="">    
  <label for="title">Title</label>
  <input type="text" name="title" ng-model="title" placeholder="https:/your website.com/wants to:">

  <label for="title">Allow Button Text</label>
  <input type="text"  ng-model="allow" placeholder="ALLOW">

  <label for="title">Disallow Button Text</label>
  <input type="text"  ng-model="disallow" placeholder="DONT ALLOW">     

  <p>{{title}}</p>
  <a href="" >{{disallow}}</a>
  <a href="" >{{allow}}</a>

【问题讨论】:

  • 在这种情况下,您所说的“占位符”是什么意思?举例说明你的意思。

标签: javascript angularjs angularjs-interpolate


【解决方案1】:

如果用占位符表示默认值,直到指定 allow,那么这很容易:

<a href="#">{{ allow || 'Click me' }}</a>

【讨论】:

  • 不应该是{{allow || 'Click me'}}吗?单管道| 在 Angular 中引入了一个过滤器。
  • 谢谢@Gpx,这就是我想做的。
【解决方案2】:

对不起,我的朋友,但占位符属性不适用于锚标记。它用于输入字段。

让我们知道您到底想用这个实现什么,我们可以建议一些替代方法。

正如@dfsq 所建议的,如果您的意思是占位符文本作为未定义allow 时显示的文本,那么您可以像这样放置默认文本:

{{allow | 'placeholder text'}} 

【讨论】:

    猜你喜欢
    • 2019-08-24
    • 2014-10-15
    • 1970-01-01
    • 2020-10-27
    • 2021-07-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多