我有一个带有以下注释的指令:
@Directive({
selector: 'i-text-field[number-format]',
providers: [NgModel]
})
在指令中,我使用输入注释
获取属性值export class NumberFormatDirective {
@Input('number-format') format: string;
...
现在,例如我可以在组件中定义我的数字格式,如
<i-text-field
label='Number' hint='00000,00'
number-format='7,2'
ngControl>
</i-text-field>
如何通过使用函数告诉组件使用哪种格式?
number-format='<<function-call>>'
答案 0 :(得分:1)
看看this article on template syntax for Angular 2。假设您在组件中编写了一个名为setNumberFormat()
的函数,您可以按如下方式设置number-format
属性的值:
// my-component.ts
import { Component } from "@angular/core";
import { NumberFormatDirective } from "./number-format-directive.ts";
@Component({
directives: [NumberFormatDirective],
template: `
<i-text-field
label='Number' hint='00000,00'
number-format='{{setNumberFormat()}}'
ngControl>
</i-text-field>
`
})
export class MyComponent {
setNumberFormat(): string {
// code to set your number format, e.g.
return "7,2";
}
}