Javascript AngularJS:大括号中的字符串和变量
我有一个变量Javascript AngularJS:大括号中的字符串和变量,javascript,angularjs,Javascript,Angularjs,我有一个变量username和一个变量userid 我想在输入中显示括号中的名称和id,如下所示: Name (ID) 在angularjs中,当username和userid为空时,我会执行,这会导致一个丑陋的() 有没有比使用ng if更简单的方法来解决我的问题。 类似于{{username+”(“+userid+”)}?您需要ng if或ng show。如果要使元素保持可见,可以尝试以下方法: {{ username && userId ? (username + "("
username
和一个变量userid
我想在
输入中显示括号中的名称和id,如下所示:
Name (ID)
在angularjs中,当username
和userid
为空时,我会执行
,这会导致一个丑陋的()
有没有比使用ng if
更简单的方法来解决我的问题。
类似于{{username+”(“+userid+”)}
?您需要ng if或ng show。如果要使元素保持可见,可以尝试以下方法:
{{ username && userId ? (username + "(" + userid + ")") : "" }}
可能需要编辑以处理空空格/零。此JSFIDLE提供了4个选项。选择最适合你的:
仅使用角度表达式:
{{name?'('+name+'):'}}
大多数时候我不会使用这个,如果你不需要任何可重用的东西,这只是最直接的方法
创建筛选器以显示用户id:
app.filter('userIdDisplay',函数(){
返回函数(输入){
返回输入?“(“+input+”):”;
};
});代码>
{{name | userIdDisplay}}
如果你有一个比括号更复杂的特殊格式,我会用这个
如果某个变量具有truthy值,则创建通用筛选器以显示字符串:
app.filter('ifExists',函数(){
返回函数(输入,变量){
返回变量?输入:“”;
};
});代码>
{{'('+name+')|如果存在:name}
我会用它来表示具有简单显示的字符串,比如只添加括号
使用ng if或ng显示并用跨距换行:
({{name}})
如果它不仅是字符串格式,而且您还希望有条件地显示其他指令或普通html标记,我会使用它。如果userid为null,您希望显示什么?该值应为空