我使用angular 9并使用inputEmoji.js为textarea添加图标。我需要在每次api调用后在js文件中调用一个函数来重新加载textarea。但不起作用。
将模型绑定到ngswitch后如何重新加载textarea?
此代码:
链接文件inputEmojs.js https://www.jqueryscript.net/download/emoji-picker-input-textarea.zip
main.js函数:
function LoadTextEditIcon(){
console.log('fdsfds');
$('textarea').emoji({place: 'after'});
}
html模板:
<div *ngIf="ItemEdit && (ItemEdit | json) != ({} | json)">
<div *ngFor="let itemContent of (ItemEdit ? ItemEdit.content : []); let i = index">
<div *ngIf="itemContent.optionText?.length > 0">
<div [(ngSwitch)]="itemContent.contentType.code">
<div *ngSwitchCase="'TEXT'">
<div>
<textarea class="form-control"
[(ngModel)]="itemContent.optionText[0].name"></textarea>
</div>
</div>
<div *ngSwitchDefault></div>
</div>
</div>
</div>
</div>
component.ts组件调用api:
declare function LoadTextEditIcon(): any; // function in file js
...
ngOnInit(): void {
this.getContent();
}
getContent() {
if (this.ItemEdit) {
let c = new StepModel();
var s = this.contentService.getContent(c).subscribe(data => {
if (data && data.isSuccess) {
this.ItemEdit = data;
LoadTextEditIcon();
}
s.unsubscribe();
},
error => {},
() => { alert('finished!');this.reloadControl(); }
);
}
}