如何在backbone.js中呈现视图后调用函数?

时间:2016-03-18 17:35:03

标签: javascript backbone.js ace-editor

我想知道在通过骨干渲染视图后是否有办法调用函数。问题是,我想调用的函数需要一个由骨干提供的html元素。实际上,我正在使用'ipywidgets'的python模块,它允许创建完全是主干视图的自定义小部件。

以下是视图代码:

var TestView = widget.DOMWidgetView.extend({


    render: function() {
        var template = _.template( $("#editor_template").html(), {} );
        this.$el.html(template);
        this.model.on('change:value', this.backToFront, this);
        //return this;
    },


    backToFront: function() {
        //$("#editor").val(this.model.get('script_ldp'))
        editor.getSession().setValue(this.model.get('value'));
        console.log("python change value " + this.model.get('value'));
    },

    events: {'click':'frontToBack'},

    frontToBack: function(event){
        this.model.set('value', editor.getSession().getValue()); 
        this.touch();
        console.log("js change value " + this.model.get('value'));
    }});

这段代码会在页面上显示一个html textarea,完成之后,我应该将这个textarea转换为其他东西(ace编辑器),通过它的'id'从DOM中获取它。

如果我这样做:document.getElementById('textarea_id_returned_by_render')它会返回null。我也试过that因为它对我不起作用,可能是因为我正在使用的python模块,我的意思是我没有使用 backbone.js。

0 个答案:

没有答案