1

Ember.TextArea http://emberjs.com/で jwysiwyg jQuery プラグインhttps://github.com/akzhan/jwysiwygを使用したいのですが、バインディングを機能させることができないようです:(

以下の例を考えてみましょう。バインディングが起動した後、runloop を使用して .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>

誰かが問題を回避する方法を知っていますか? ..回避策の提案はありますか? .. ポインタはありますか? …何か役に立ちますか?

4

1 に答える 1

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() );
                    },
                },
            });
        });
    }
});
于 2012-05-21T21:12:14.983 に答える