自定义功能可能后的骨干触发事件?

时间:2014-09-22 10:04:22

标签: backbone.js

原谅我的骨干我不是专家,必须绝对执行功能显示并且只能在重置问题

之后执行
      ResetQuestions:function () {
       //Great Code Here
        }),

我试过了:

    initialize: function () {
     this.on("Show", this.Show, this);
      },
     ResetQuestions:function () {
       //Great Code Here
           this.trigger("Show");
        }),

但这不成功,有谁知道我怎么能做到这一点?

3 个答案:

答案 0 :(得分:1)

不需要事件,只需从其他函数调用该函数

 var sampleView = Backbone.View.extend({
        initialize: function () {
            this.ResetQuestions();
        },
        Show: function () {
            alert('i am at show');
        },
        ResetQuestions: function () {
            // Execute all you code atlast call Show function as below.
            this.Show();
        }

    });
var view = new sampleView();

答案 1 :(得分:0)

var sampleView = Backbone.View.extend({
    initialize: function(){
       this.ResetQuestions().promise().done(function() {   // Using promise here. 
         this.Show();
       });
    },
    Show: function(){

    },
    ResetQuestions: function(){
    // Execute all you code atlast call Show function as below.

    }

});

然后发起你的观点,

var view = new sampleView();

希望这有效!!

答案 2 :(得分:0)

也许你只是混淆了什么运行什么,并命名具有相同名称Show的事件和方法。我已经使用您的代码创建了一个jsfiddle - http://jsfiddle.net/yuraji/aqymbeyy/ - 您调用ResetQuestion方法,触发Show事件,Show事件运行Show方法。

编辑:我已经更新了小提琴,以证明您可能必须将方法绑定到实例,我使用_.bindAll。如果你不这样做,你可以将事件作为上下文(this)。

编辑:然后,如果您的ResetQuestions运行异步代码,比如获取新问题的ajax请求,则必须确保在请求完成时触发Show事件。< / p>