原谅我的骨干我不是专家,必须绝对执行功能显示并且只能在重置问题
之后执行 ResetQuestions:function () {
//Great Code Here
}),
我试过了:
initialize: function () {
this.on("Show", this.Show, this);
},
ResetQuestions:function () {
//Great Code Here
this.trigger("Show");
}),
但这不成功,有谁知道我怎么能做到这一点?
答案 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>