2016-03-14 3 views
2

Нет проблем с наблюдаемыми изменениями, но с подключением к нему с помощью [(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); 

текст просматривается правильно. Так в чем проблема? Почему {{комментарий}} видят только начальную версию переменной «комментарий»? Как это исправить? Спасибо за помощь.

ответ

1

попытаться запустить его внутри зоны:

export class MainComponent { 
    constructor(private zone:NgZone){} 
    ngOnInit(){ 
    //this.editor = window['CKEDITOR']['replace']('editor1'); 
    window['CKEDITOR']['replace']('editor1')['on']('change', function(evt) { 
     this.zone.run(function(){ 
     this.comment = evt.editor.getData(); 
     console.log('comment = ' + this.comment); 
     }); 

    }) 
    } 

    comment: any = "default"; 
} 
+0

Я получаю 'не могу прочитать свойство«запустить»из undefined' ошибки. – elzoy

+0

Можете ли вы показать свой файл package.json? –

+0

' { "имя": "История", "версия": "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

Смежные вопросы