Angular2 [innerHTML] if else验证

Vin*_*oft 4 javascript tags angular

我想在按钮中显示不同的文本,具体取决于一些JSON数据.

示例(当然不起作用):

<button [innerHTML]='"Male" if user.gender==1 else "Female"'></button>
Run Code Online (Sandbox Code Playgroud)

我知道这个功能已经存在于例如[ngClass]中:

<button [ngClass]='{"btn-success": data.complete, "btn-primary": !data.complete}'>Some text</button>
Run Code Online (Sandbox Code Playgroud)

使用[ngClass]方法显示为[object:Object],因此无法正常工作.

有解决方案吗

Yar*_*jev 11

使用三元表达式

<button [innerHTML]='user.gender == 1 ? "Male" : "Female"'></button>
Run Code Online (Sandbox Code Playgroud)

无论如何你不需要innerHtml这个.我会这样做:

<button>{{ user.gender == 1 ? "Male" : "Female" }}</button>
Run Code Online (Sandbox Code Playgroud)