AngularJS:根据变量值连接

时间:2015-02-12 12:59:35

标签: javascript angularjs

我在表单中有3个输入字段:

<input type="text" name="filename_regex_begin" ng-model="filename_regex_begin">
<input type="text" name="filename_regex_contains" ng-model="filename_regex_contains">
<input type="text" name="filename_regex_end" ng-model="filename_regex_end">

我在第四个字段中连接它们:

<input type="textarea" name="result" value="{{filename_regex_begin + filename_regex_contains + filename_regex_end}}">

但是现在,我想做以下

if (filename_regex_contains is empty)
    <input type="textarea" name="result" value="{{filename_regex_begin + "*" + filename_regex_end}}">
else
    <input type="textarea" name="result" value="{{filename_regex_begin + "*" + filename_regex_contains + "*" + filename_regex_end}}">

我无法用AngularJS做到这一点(我刚开始学习它),有可能吗?

2 个答案:

答案 0 :(得分:2)

你可以这样做:

<input type="textarea" name="result" value="{{filename_regex_begin + '*' + (filename_regex_contains ? filename_regex_contains + '*' : '') + filename_regex_end}}">

再见

答案 1 :(得分:0)

Giulio Molinari的答案非常好。

如果您想在视图中执行“if”条件,我将添加它。你可以用angularjs ngIf:

来做
    <span ng-if="filename_regex_contains is empty">
        <input type="textarea" name="result" value="{{filename_regex_begin + "*" + filename_regex_end}}">
    </span>
    <span ng-if="!(filename_regex_contains is empty)">
        <input type="textarea" name="result" value="{{filename_regex_begin + "*" + filename_regex_contains + "*" + filename_regex_end}}">
    </span>