如果存在变量,则显示输入文本字段值,否则显示占位符

时间:2015-11-02 16:22:10

标签: javascript angularjs angularjs-templates

在Angular 1.2.19中,是否有模板的三元运算符允许我显示变量是输入值,如果存在,如果不存在,那么只显示占位符?

有点像这样:

<input type="text "{{ if phoneNumber ? "value='{{phoneNumber}}'" : "placeholder='{{ language.placeHolder}}'"}}

编辑:这是我目前的HTML:

<input type="text"name="buyPhoneNumber" id="buyPhoneNumber" value="{{ phoneNumber }}" 
class="form-control input-lg" placeholder="{{language.phoneNumberHolder}}"
                       ng-model="buyObj.pinOrPhonenumber"
                       ng-change="buyChange();"
                       on-change-phone-number/>

1 个答案:

答案 0 :(得分:1)

使用Angular胡须表达式和ng-value

<input ng-value="{{ phoneNumber }}" placeholder="{{ phoneNumber ? language.placeHolder : '' }}" />

胡子表达式是常规JavaScript,因此您可以使用正常的三元表达式。

您还可以通过CSS隐藏占位符:

input:focus::-webkit-placeholder {
    color: transparent;
}
input:focus::-moz-placeholder {
    color: transparent;
}