CKEditor 5 throws Не удается прочитать свойство 'create' из неопределенного в проекте Angular6 - PullRequest
0 голосов
/ 02 октября 2018

Я новичок в angular6.Я создал проект с помощью JHipster и пытался создать редактор WYSIWYG для форматированного текста с помощью CKEditor 5. Я сделал следующие шаги, используя следующую ссылку для создания редактора.

  1. установка в минуту --save-dev @ ckeditor / ckeditor5-angular
  2. установка в минуту --save-dev @ ckeditor / ckeditor5-build-classic
  3. Imported @ ckeditor / ckeditor5-angularи добавил в import в моем module.js
  4. Imported @ ckeditor / ckeditor5-build-classic и создал переменную public Editor: ClassicEditor;В моем компоненте
  5. Используется следующий код в html

Цитата

<ckeditor [editor]="Editor" data="<p>Hello world!</p>"></ckeditor> 

Когда яперейдите на страницу, которую я добавил, выдает следующую ошибку, которую я получил из консоли инструментов разработчика браузера.

ERROR TypeError: Cannot read property 'create' of undefined
    at CKEditorComponent.createEditor (ckeditor-ckeditor5-angular.js?076d:187)
    at eval (ckeditor-ckeditor5-angular.js?076d:96)
    at ZoneDelegate.invoke (zone.js?d135:388)
    at Zone.run (zone.js?d135:138)
    at NgZone.runOutsideAngular (core.js?09c9:3784)
    at CKEditorComponent.ngAfterViewInit (ckeditor-ckeditor5-angular.js?076d:95)
    at callProviderLifecycles (core.js?09c9:9568)
    at callElementProvidersLifecycles (core.js?09c9:9542)
    at callLifecycleHooksChildrenFirst (core.js?09c9:9532)
    at checkAndUpdateView (core.js?09c9:10468)

Мне просто интересно, если это проблема с CKEditor 5 или я пропустил какие-либо шаги?

Буду признателен за любую помощь / указания для решения этой проблемы!

1 Ответ

0 голосов
/ 03 октября 2018

У вас есть следующий код по ссылке:

export class ArticleUpdateComponent implements OnInit {
    public Editor: ClassicEditor;
    // ...
}

Хотя на самом деле вы должны установить ClassicEditor для свойства Editor, вы устанавливаете только его тип (что на самом деле тоже неверно, так какредактор может иметь тип typeof ClassicEditor).

Что вам нужно сделать, это простое присвоение свойства public Editor = ClassicEditor;, которое сделает ClassicEditor доступным в шаблоне в свойстве Editor.

...