我在Angular 2.0模板中有一个HTML,如下所示:
<span> Total Employee {{employeeCount> 0 ? '(' + employeeCount+ ')' : ''}} ></span>
我的customFormatter接受一个值,并使用逗号分隔符格式化它,如果它是一个数字。
工作正常。现在我想使用自定义管道来格式化员工数量,我使用了以下代码:
<span>
Total Employee {{employeeCount> 0 ? '(' + employeeCount | customFormatter + ')' : ''}} >
</span>
但是它给出了语法错误:“错误:模板解析错误:解析器错误:条件表达式......”
我使用时管道正常工作:
<span> Total Employee {{employeeCount | customFormatter }} ></span>
如何解决我的问题?
答案 0 :(得分:0)
您应该在customFormatter
管道
export class CustomFormatterPipe implements PipeTransform{
transform(employeeCount){
if({employeeCount> 0){
// your logic here
} else {
return '';
}
}
答案 1 :(得分:0)
试试这个。
<span>
Total Employee {{employeeCount> 0 ? '(' + employeeCount + ')'| customFormatter : ''}}
</span>
答案 2 :(得分:0)
这不是您问题的直接解决方案,但只有在员工人数大于零时,才能使整个<span>
及其内容呈现:
<span>
Total Employee
<span ng-show="employeeCount > 0">{{employeeCount | customFormatter}}</span>
</span>
当计数为零时,跨度将不可见,但仍会占用DOM中的相同空间,这可能相当于仅使用空字符串作为内容呈现该跨度。