在Angular 2中无法将HTML输入元素注入span中

时间:2018-03-06 17:15:24

标签: html angular typescript angular-dom-sanitizer

您好,我有表格问题,要求用户替换句子中的文字。例如......'今天是'用户将在当天填写但我无法通过< innerHtml'单独。我已将下面的代码放在下面:

private _replacementInput: string = '<input type="text" class="replacement-input">';
public get replacementInput() : SafeHtml {
    return this._sanitizer.bypassSecurityTrustHtml(this._replacementInput);
}

constructor(private _sanitizer: DomSanitizer) {
}

然后在我看来我有:

Today is <span [innerHtml]='replacementInput'></span>

据我所知,我的代码是正确的,但我仍然得到一个空的span标签,而不是一个带有输入的标签。

1 个答案:

答案 0 :(得分:0)

看起来我的问题与我的实施有关。基本上是文本作为对象的一部分传递给组件,它看起来像'今天是(?)',其中我用组件中的输入替换'(?)'。

但是,已经通过[innerHtml]将其添加到span标记中,因此它看起来如下所示:

<span [innerHtml]="formObject.question">
    Today is <span [innerHtml]="replacementInput></span>
</span>

我编辑了@Zze stackblitz示例,向大家展示这种实现方式是如何工作的。

@Zze示例:https://stackblitz.com/edit/angular-nh4ptm

我的编辑示例:https://stackblitz.com/edit/angular-lkz4uc