我可以 return 内置管道吗?
Can I return built-in pipe?
我有一个关于 angular2 管道的问题。
我想根据 schema:string 将管道作为 return 值。
我认为有 2 种方法可以得到它,但都不起作用。
page.html
<p>{{value | getSchema(value, schema)}}</p>
page.ts
getSchema(value, schema){
if(schema == 'Currency'){
return "currency: 'USD':true";
} else if(schema == 'Number'){
return 'number';
}
}
或
page.html
<p>{{getSchema(value, schema)}}</p>
page.ts
getSchema(value, schema){
if(schema == 'Currency'){
return value + "| currency: 'USD':true";
} else if(schema == 'Number'){
return value + '| number';
}
}
有什么想法吗?
谢谢。
您可以使用根据参数调用另一个管道的自定义管道
@Pipe({name: 'genericPipe'})
class MyPipe {
constructor(private currPipe:CurrencyPipe, private numberPipe:NumberPipe) {}
transform(value, schema) {
if(schema == 'Currency') {
return this.currPipe.transform(value);
} else {
return this.numberPipe.transform(value);
}
}
}
<p>{{value | genericPipe:schema}}</p>
我有一个关于 angular2 管道的问题。 我想根据 schema:string 将管道作为 return 值。 我认为有 2 种方法可以得到它,但都不起作用。
page.html
<p>{{value | getSchema(value, schema)}}</p>
page.ts
getSchema(value, schema){
if(schema == 'Currency'){
return "currency: 'USD':true";
} else if(schema == 'Number'){
return 'number';
}
}
或
page.html
<p>{{getSchema(value, schema)}}</p>
page.ts
getSchema(value, schema){
if(schema == 'Currency'){
return value + "| currency: 'USD':true";
} else if(schema == 'Number'){
return value + '| number';
}
}
有什么想法吗? 谢谢。
您可以使用根据参数调用另一个管道的自定义管道
@Pipe({name: 'genericPipe'})
class MyPipe {
constructor(private currPipe:CurrencyPipe, private numberPipe:NumberPipe) {}
transform(value, schema) {
if(schema == 'Currency') {
return this.currPipe.transform(value);
} else {
return this.numberPipe.transform(value);
}
}
}
<p>{{value | genericPipe:schema}}</p>