【发布时间】:2019-06-20 00:50:24
【问题描述】:
我有一个自定义管道,我在其中传递文本和一些参数 在这里,我传递了一个像“我的名字是%name%”这样的文本,它将被转换为 “我的名字是 {{name}}” 在我传递名称的参数中:“ABC”如何将 {{name}} 替换为我在参数中传递的 ABC。
import { Pipe, PipeTransform } from '@angular/core';
import { DomSanitizer } from '@angular/platform-browser';
@Pipe({ name: 'textTransform' })
export class textTransform implements PipeTransform {
constructor(private sanitized: DomSanitizer) {}
transform(value: any, args?: any[]): any {
let val = [];
value = value.replace(/%.*?%/g, m => { m = m.slice(1, -1);
return this.sanitized.bypassSecurityTrustHtml(value);
}
}
args 是一个键值数组,例如 args[0].name="abc", args[0].age=11
所以如果字符串是"My Name is {{name}} and I am {{age}} years old" 应该转换成"My Name is abc and I am 10 years old"
【问题讨论】:
-
我已经添加了另一个对象解决方案库而不是数组选择适合您需要的解决方案????