emberjs bindings和jwysiwyg

时间:2012-05-21 09:07:38

标签: javascript ember.js 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 个答案:

答案 0 :(得分: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() );
                    },
                },
            });
        });
    }
});