Angular 2 - 管道值并返回 DOM 元素
Angular 2 - Piping value and returning DOM element
我正在尝试使用自定义管道接收一个 int 值,然后 return 一个基于该 int 的 material 设计图标。
HTML:
{{item.MetGoal | NumberToStatusSymbol}}
TypeScript/JS:
transform(value, args?) {
switch (value){
case '0':
return $.parseHTML(`<i class="material-icons text-red"></i>;`);
case '1':
return $.parseHTML(`<i class="material-icons text-green"></i>`);
case '2':
return $.parseHTML(`<i class="material-icons text-yellow"></i>`);
default: break;
}
}
然而,当页面加载时,它只显示 [object HTMLElement] 而不是 return 中列出的实际 HTML 元素。
<div [outerHTML]="item.MetGoal | NumberToStatusSymbol"
{{}}
进行字符串插值并将结果添加为字符串。这似乎不是你想要的。
您可能需要进行一些消毒。另见
case '0':
return 
...
和
<i class="material-icons">{{item.MetGoal | NumberToStatusSymbol}}</i>
可能有效,但是您必须为 text-xxx
属性使用不同的管道。
我正在尝试使用自定义管道接收一个 int 值,然后 return 一个基于该 int 的 material 设计图标。
HTML:
{{item.MetGoal | NumberToStatusSymbol}}
TypeScript/JS:
transform(value, args?) {
switch (value){
case '0':
return $.parseHTML(`<i class="material-icons text-red"></i>;`);
case '1':
return $.parseHTML(`<i class="material-icons text-green"></i>`);
case '2':
return $.parseHTML(`<i class="material-icons text-yellow"></i>`);
default: break;
}
}
然而,当页面加载时,它只显示 [object HTMLElement] 而不是 return 中列出的实际 HTML 元素。
<div [outerHTML]="item.MetGoal | NumberToStatusSymbol"
{{}}
进行字符串插值并将结果添加为字符串。这似乎不是你想要的。
您可能需要进行一些消毒。另见
case '0':
return 
...
和
<i class="material-icons">{{item.MetGoal | NumberToStatusSymbol}}</i>
可能有效,但是您必须为 text-xxx
属性使用不同的管道。