emberjs bindings и jwysiwyg

Я хотел бы использовать плагин jwysiwyg jQuery https://github.com/akzhan/jwysiwyg с Ember.TextArea http://emberjs.com/, но я не могу заставить работать привязки:(

Рассмотрим пример, приведенный ниже. Я использовал runloop thingy для вызова плагина.jwysiwyg jQuery после срабатывания привязок (поэтому он содержит правильные данные).

Я не уверен, как описать мою проблему, но в упрощенном виде я не могу заставить данные течь другим способом... т.е. когда я обновляю данные в текстовой области (теперь это html-редактор), модель не обновляется.

<script>
    App = Ember.Application.create();

    App.entry = Ember.Object.create({
      sometext: "some demo text in here"
    });

    App.HTMLField = Ember.TextArea.extend({ 
        valueBinding: "App.entry.sometext",
        didInsertElement: function() {
            this._super();
            Ember.run.schedule('actions', this, function(){
                this.$().wysiwyg();
            });
        }
    });
</script>

<!-- place view in page -->
<script type="text/x-handlebars">
    <p>
      {{App.entry.sometext}}
    </p>
    <p>
      {{view App.HTMLField}}
    </p>
</script>

Кто-нибудь знает способ обойти проблему? .. предложения об обходном пути? .. какие-нибудь указатели? ... что-нибудь, что могло бы помочь?

1 ответ

Что-то вроде должно сделать это:

App.HTMLField = Ember.TextArea.extend({
    didInsertElement: function() {

        this._super();

        var self = this;
        Ember.run.schedule('actions', this, function(){
            this.$().wysiwyg({
                events: {
                    save: function( ) {
                        var c = this.getContent();
                        self.set('value', this.getContent() );
                    },
                },
            });
        });
    }
});
Другие вопросы по тегам