Нет проблем с наблюдаемыми изменениями, но с подключением к нему с помощью [(ngModel)].Angular2 + CKEditor - наблюдаемые изменения
Код:
import {Component} from 'angular2/core'
@Component({
selector: 'main',
template: `
<textarea [(ngModel)]="comment" name="editor1" id="editor1"></textarea>
<div *ngIf="comment">
{{comment}}
</div>
`
})
export class MainComponent {
ngOnInit(){
//this.editor = window['CKEDITOR']['replace']('editor1');
window['CKEDITOR']['replace']('editor1')['on']('change', function(evt) {
this.comment = evt.editor.getData();
console.log('comment = ' + this.comment);
})
}
comment: any = "default";
}
Таким образом, по умолчанию при загрузке страницы
<div *ngIf="comment">
{{comment}}
</div>
Angular2 печатает "по умолчанию" текст - правильный. Проблема в том, когда я редактирую текст в ckeditor. Затем есть текст «по умолчанию», но в консоли:
console.log('comment = ' + this.comment);
текст просматривается правильно. Так в чем проблема? Почему {{комментарий}} видят только начальную версию переменной «комментарий»? Как это исправить? Спасибо за помощь.
Я получаю 'не могу прочитать свойство«запустить»из undefined' ошибки. – elzoy
Можете ли вы показать свой файл package.json? –
' { "имя": "История", "версия": "0.0.0", "частный": правда, "скрипты": { "Пуск": "узел ./bin/www" }, } "зависимости": { "angular2": "^ 2.0.0-beta.9", "body-parser": "~ 1.13.2", "cookie-parser": "~ 1.3. 5 ", " debug ":" ~ 2.2.0 ", " ejs ":"^2.4.1 ", " es6-shim ":"^0.35.0 ", " express ":" ~ 4.13. 1 ", " jade ":" ~ 1.11.0 ", " morgan ":" ~ 1.6.1 ", " rxjs ":"^5.0.0-beta.2 ", " serve-fav icon ":" ~ 2.3.0 ", " systemjs ":"^0.19.24 " } } ' – elzoy