Не удается отобразить мой HTML-контент в текстовой области TinyMCE
Я пытаюсь создать форматированный текстовый редактор для модального приложения, используя tinymce вместо текстовой области. Но мой HTML-код не может быть отображен в виде текста в области содержимого расширенного текста. Я использую Angular 2.
Любая помощь будет оценена
import { Component, AfterViewInit, OnDestroy, Input, Output, EventEmitter } from 'angular2/core';
import { RdComponent, RdLib } from '../../../../../node_modules/mulberry/core';
declare let tinymce: any;
@Component({
selector: 'mail-template',
template: `
<textarea style="height:15em"><p>{{ content }}</p></textarea>
`
})
export class MailTemplatesComponent extends RdComponent {
@Input("rd-model") model: string;
@Output() onEditorKeyup = new EventEmitter<any>();
public editor: any;
ngAfterViewInit() {
console.log(this.model);
tinymce.init({
selector: 'textarea',
setup: editor => {
this.editor = editor;
editor.on('keyup', () => {
const content = editor.getContent();
this.onEditorKeyup.emit(content);
})
}
});
}
ngOnDestroy() {
tinymce.remove(this.editor);
}
}
<div class="col-md-12">
<rd-field [rd-text]="translate('Mail İçeriği')"></rd-field>
<mail-template [(rd-model)]="data.MailContent" rd-height="25em"></mail-template>
</div>
2 ответа
Я нашел лучшее решение для проблемы, и я думаю, что это было бы полезно для людей, которые испытывают ту же проблему.
http://estynedwards.com/blog/2015/12/04/getting%20started%20with%20angular%202/
Я использую angular2-froala-wyswiyg
это лучшее, что я смог найти и легко использовать (ссылка ниже)
https://libraries.io/npm/angular2-froala-wyswiyg
npm install angular-froala-wysiwyg --save
npm update froala-editor --save
package.json (файл) после установки модуля
"dependencies": {
.....
"angular-froala-wysiwyg": "^2.7.2",
...
}
Импорт в ваш модуль
import { FroalaEditorModule, FroalaViewModule } from 'angular-froala-wysiwyg';
...
@NgModule({
...
imports: [FroalaEditorModule.forRoot(), FroalaViewModule.forRoot() ... ],
...
})
angular-cli.json(файл) вносит изменения в стили и скрипты, как показано ниже
"styles": [
"styles.css",
"../node_modules/froala-editor/css/froala_editor.pkgd.min.css",
"../node_modules/froala-editor/css/froala_style.min.css",
"../node_modules/font-awesome/css/font-awesome.css"
],
"scripts": [
"../node_modules/froala-editor/js/froala_editor.pkgd.min.js"
],
В вашем компоненте шаблона
<textarea class="form-control" [froalaEditor] name="x" #x="ngModel [(ngModel)]="obj.name" required ></textarea>
После редактирования отобразите это как
<span [innerHTML]="obj.name"> </span>