Angular 6+中输入和跨度之间的文本绑定

时间:2018-09-30 16:04:26

标签: angular data-binding angular6

如何绑定输入文本以跨越Angular6中的innerHTML?

ts文件

...
finance_fullname: string;
...

模板文件

<input type="text" id="finance_fullname" [(ngModel)]="finance_fullname">
<span class="fullname" ngBind="finance_fullname"></span>

3 个答案:

答案 0 :(得分:6)

我可以说最安全的方法是innerTexttextContent

<span class="fullname" [textContent]="finance_fullname"></span>
<span class="fullname" [innerText]="finance_fullname"></span>

即使AngularJS也使用textContent进行单向绑定。它仅extract模型值并直接在指定的html节点内转储。即使您通过html,它也会将该html作为文本(已解码的html)添加到页面上。

Demo

innerHTML也可以为您服务,但可能会很危险,因为它将使您有机会以html形式将恶意内容注入页面。

答案 1 :(得分:3)

您可以通过两种方式完成

(i)您可以使用 class Event extends Model { /** * Event has more participants (players, coaches, or admins). */ public function participants() { // } } class EventParticipant extends MorphPivot { // }

[innerHTML]

STACKBLITZ DEMO

(ii)只需使用两种方式进行数据绑定

STACKBLITZ DEMO

<input type="text" id="finance_fullname" [(ngModel)]="finance_fullname">
<span class="fullname" [innerHTML]="finance_fullname"></span>

答案 2 :(得分:2)

我不知道为什么要从angularjs读取内容,因为您正在使用angular 6。 如果您想进行双重装订,就可以这样做。

<input type="text" id="finance_fullname" [(ngModel)]="finance_fullname">
<span class="fullname">{{finance_fullname}}</span>