Ham*_*dad 8 html javascript ngx-translate angular
我想让我的文字的一部分加粗。
我从特定文件中获取文本。
"INFORMATION": "Here's an example of text",
我希望这Here's an是大胆的。
"INFORMATION": "<b>Here's an</b> example of text",
"INFORMATION": "<strong>Here's an</strong> example of text"
然后我打印
<span translate>INFORMATION</span>
Run Code Online (Sandbox Code Playgroud)
而不是得到
这是一个文本示例
我得到
<b>Here's an</b> example of text
Run Code Online (Sandbox Code Playgroud)
或者
<strong>Here's an</strong> example of text
Run Code Online (Sandbox Code Playgroud)
更新
我正在尝试innerHTML
<span [innerHTML]="information | translate"></span>
Run Code Online (Sandbox Code Playgroud)
信息是包含文本的变量
但它忽略了我的 html 标签,它只打印文本
小智 5
我会做的是一个管道,它可以清理您提供给它的字符串,并使用正则表达式使其更通用。像这样的stackblitz:
https://stackblitz.com/edit/angular-tyz8b1?file=src%2Fapp%2Fapp.component.html
import { Pipe, PipeTransform, Sanitizer, SecurityContext } from '@angular/core';
@Pipe({
name: 'boldSpan'
})
export class BoldSpanPipe implements PipeTransform {
constructor(
private sanitizer: Sanitizer
) {}
transform(value: string, regex): any {
return this.sanitize(this.replace(value, regex));
}
replace(str, regex) {
return str.replace(new RegExp(`(${regex})`, 'gi'), '<b>$1</b>');
}
sanitize(str) {
return this.sanitizer.sanitize(SecurityContext.HTML, str);
}
}
Run Code Online (Sandbox Code Playgroud)
这样,变量内容实际上不会改变,这意味着您的数据保持不变。
如果有 Angular-Translate 2.0,您可以使用它来完成此操作。
<span translate="{{ 'INFORMATION' }}"></span>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17819 次 |
| 最近记录: |