use*_*775 3 angular2-directives angular2-template angular
我有一个可以是正值或负值的数字。我想总是把它打印成负片。有没有办法在 Angular 2 html 代码中格式化它?我知道如何在打字稿/javascript 中做到这一点。但是,想知道我是否可以直接在 Angular HTML 代码中进行格式化
获取数字的负数的一种快速方法是:
-Math.abs(num);
Run Code Online (Sandbox Code Playgroud)
Angular 使用管道来转换在模板中呈现的数据。创建自定义管道:
如果你使用 angular-cli
ng g pipe minus
@Pipe({name: 'minus'})
export class MinusPipe implements PipeTransform {
transform(num: number, args?: any): any {
return -Math.abs(num);
}
}
Run Code Online (Sandbox Code Playgroud)
在您的模板中:
{{ myNumber | minus }}
Run Code Online (Sandbox Code Playgroud)
老问题但仍然现实。作为创建新管道的替代方法,您可以在模板中使用全局对象,例如“数学”。
在你的控制器中定义如下:
public myMath = Math;
Run Code Online (Sandbox Code Playgroud)
现在您可以在 html 模板中使用它:
{{myMath.abs(the_number)}}
Run Code Online (Sandbox Code Playgroud)