typescript 如何将html字符串(html标签)显示为文本区域中内容?

wz8daaqr  于 2022-11-30  发布在  TypeScript
关注(0)|答案(3)|浏览(235)

我想在div标签中显示html标签,

<p [innerHTML]="data"> // data is a html tags for ex: h1 tag
</p>

它工作得很好,但是如果我想在文本区域打印,它不是翻译html代码并直接打印html代码,

<textarea  rows="4" cols="50">
    {{data}}
</textarea>

下面是stackblitz上正在运行的code

bfnvny8b

bfnvny8b1#

这是不可能的,你要找的是一个内容可编辑的div。看看这个fiddle,但基本上你需要(只是把它翻译成Angular ):

<div contenteditable="true">This is the first line.<br>
    See, how the text fits here, also if<br>there is a <strong>linebreak</strong> at the e nd?
    <br>It works nicely.
    <br>
    <br><span style="color: lightgreen">Great</span>.
</div>
mspsb9vt

mspsb9vt2#

这个问题已经在stackblitz,Rendering HTML inside textarea中有答案
您要做的是将div标签设置为editable

lztngnrs

lztngnrs3#

<textarea>是输入元素,不能在其中绑定<b><i>之类HTML标记
要绑定数据,请从typescript中删除此HTML标记,并使用[(ngModel)]将其绑定到<textarea>
这样试试看:

<textarea  rows="4" cols="50" [(ngModel)]="data">
</textarea>

相关问题