- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我不太确定该怎么调用它,所以我可能在寻找答案时错过了一些东西,但基本上我有来自外部 api 的数据,并将其插入到 innerHTML 中现在返回的数据中的
标记是一些 html,然后通过 innerHTML
对其进行处理,但我在返回的 html 中有某些关键字,例如 [username]
我想用我存储的数据替换它。所以在我的 .ts 文件中我可能有..
username: 'name';
然后在我的html中我有
<div class='inner-html' [innerHTML]="data.html"></div>
在我对 data.html
的回复中,html 是这样的
<h1>Hey [userName] lorem ipsum...</h1>
所以我想用存储在 username
[userName]
我尝试将 {{username}}
放入传入的 html 中..但这不起作用,我也尝试过 ${username}
但这也没用..
我想知道是否还有其他方法?
编辑我尝试过使用 str.replace();在 onChanges 生命周期事件中,但这不起作用,我的代码是..
const html = <HTMLElement>document.querySelector('.inner-html');
html.innerHTML.replace('[userName]', this.username);
现在这样的事情一定是可能的,任何帮助将不胜感激
谢谢
最佳答案
Angular 正是为此目的提供了 Pipe:
Pipe
An Angular pipe is a function that transforms input values to output values for display in a view.
它们提供可重用和可扩展的方法来实现您的目标。请检查一下,因为我认为这就是您所追求的:
基本上,您可以通过转换来传输 [innerHTML]
的输出:
<div class='inner-html' [innerHTML]="data.html | parseInnerHtml:replacements"></div>
parseInnerHtml
是自定义管道,它需要替换键和相应值的哈希值来替换:
import { Input, Pipe, PipeTransform } from '@angular/core';
@Pipe({name: 'parseInnerHtml'})
export class ParseInnerHtml implements PipeTransform {
transform(text: string, replacements: Object): string {
let search = Object.keys(replacements);
for(let i = 0; i < search.length; i++){
text = text.replace('['+ search[i] +']', replacements[search[i]]);
}
return text;
}
}
关于javascript - 用用户数据替换动态插入的关键字 Angular 5,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49374349/
This question already has answers here: Using Variable for Thread group Ramp up time (3个答案) 3年前关闭。 从
我希望使用 RPyC 为硬件板提供 API 作为服务。该板一次只能满足一个用户的需求。有什么方法可以让 RPyC 强制执行一次只有一个用户可以访问吗? 最佳答案 我不确定这是否有效(或有效),但您可以
如果我想以每秒 10 个请求运行测试。如何让 Jmeter 选择每秒处理该请求数所需的最佳线程数。 我将线程数设置为与每秒请求数相同。 最佳答案 您可以使用恒定吞吐量计时器 click here你只需
我正在尝试进行查询以检查客户表并返回过去 30 天、过去 365 天和所有时间具有特定值的用户数。 所有时间的计数很简单: $stmt = $conn->prepare("SELECT count(i
我是一名优秀的程序员,十分优秀!