是否可以在AngularJS表达式中设置默认值?

时间:2016-02-18 07:30:15

标签: javascript angularjs angularjs-interpolate

我在<a>标记中包含了一个AngularJS表达式。表达式正在评估allow变量。

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

如果allownullundefined,则Angular不显示任何内容。相反,我想显示一个默认字符串。

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

enter image description here

右侧的模态是从左侧的表格生成的。如果用户没有为&#34;允许按钮文本&#34;输入任何文本。和&#34;禁止按钮文字&#34;我想分别显示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>

2 个答案:

答案 0 :(得分:9)

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

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

答案 1 :(得分:0)

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

让我们知道你想要实现的目标,我们可以建议一些替代方法。

正如@dfsq所建议的那样,如果您指的是占位符文本作为未定义allow时要显示的文本,那么您可以将默认文本设置为:

{{allow | 'placeholder text'}}