Html 角度为2+的值的三元运算符;模板
我的模板中有如下内容:Html 角度为2+的值的三元运算符;模板,html,angular,typescript,Html,Angular,Typescript,我的模板中有如下内容: 步骤 公里 我发现这个拼写很难看,有两行是这样写的。。。无聊的。所以我试着寻找替代方案 NgIfElse 步骤 公里 我发现这个更好,但是在像*ngIf=“A&&B”这样的多种情况下使用它可能会很困难。我们在模板中还有两行代码 获取函数 {{getUnit(selectedSport.key)} getUnit(运动键:字符串):字符串{ return sportKey===‘步行’?‘台阶’:‘公里’; } 这是非常好的,因为模板变得更可读。但是,我不想在我的组
步骤
公里
我发现这个拼写很难看,有两行是这样写的。。。无聊的。所以我试着寻找替代方案
NgIfElse
步骤
公里
我发现这个更好,但是在像*ngIf=“A&&B”
这样的多种情况下使用它可能会很困难。我们在模板中还有两行代码
获取函数
{{getUnit(selectedSport.key)}
getUnit(运动键:字符串):字符串{
return sportKey===‘步行’?‘台阶’:‘公里’;
}
这是非常好的,因为模板变得更可读。但是,我不想在我的组件中为此添加函数
您知道Angular 2+模板是否支持三元运算符,如getUnit
函数中的那样您有更好的想法吗?您可以在模板内部使用,如下面的示例所示
{{selectedSport.key=='walking'?'steps':'km'}
- 似乎您正试图显示所选运动的单位。
- 最好将逻辑保留在控制器中,并将其填充到模型中 对象和视图仅显示模型李>
- 淡化逻辑 视图层可能不是一个更好的设计,并且违反了单一视图的法则 责任
{{selectedSport.key=='walking'?'steps':'km')}
?谢谢,@narendra jadhav改进了我的答案。为了扩展关于可观察值的内容,您必须将可观察和异步管道用括号括起来,如{(someObs$| async)=='someValue'?'output if true':'output if false'}正是我要找的!谢谢