在我的控制器上我有类似的东西:
this.user = {
first_name: "David",
full_name: "David Silva"
}
我得到的数据有时没有full_name,所以我尝试了这个表达式:
{{user.full_name || user.first_name}}
它似乎正在起作用,但经过仔细检查后,我意识到它并不像常规JS那样表现。我期待如果full_name未定义或为空,它将尝试另一个,但是如果||
之后的表达式有效,它将评估为无论左边的表达式如何。
我无法找到原因,而且我想了解更多关于解释它的方式以适当利用它。
答案 0 :(得分:4)
我在angularJS中遇到了||
的问题。为了达到同样的效果,我发现最好使用三元运算符。所以你这样写:
user.full_name ? user.full_name : user.first_name
这相当于
if(user.full_name)
return user.full_name
else
return user.first_name
三元运算符有点冗长,但我发现它有效,而||
有问题。