AngularJS:根据变量值进行连接

AngularJS : concatenate depending on variable value

本文关键字:连接 变量值 AngularJS      更新时间:2023-10-21

我有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做到这一点(我刚刚开始学习),这可能吗?

您可以这样做:

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

再见

朱利奥·莫里纳利的回答非常好。

如果你想在视图中做一个"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>