我正在尝试在javascript中使用javascript中的观察者模式,但触发器和绑定不起作用。我该怎么做才能获得“警报”('通知绑定');“跑?谢谢;)
(function($){
var NoteApp = function(){
var self = this;
this.notifications = [];
this.EVENT = {
NOTIFY: 'notify'
};
this.button = {
ask_number: $('#ask-number'),
ask_email: $('#ask-mail'),
ask_out: $('#ask-out')
};
var Button = function(){
};
var Data = function(app){
$(app.notifications).bind(app.EVENT.NOTIFY, function(){
alert('notify binded');
});
}(this);
var UI = function(app){
app.button.ask_number.bind(app.EVENT.NOTIFY, function(){
alert('notify 2');
});
app.button.ask_number.click(function(){
//alert(app.EVENT.NOTIFY);
$(app.notifications).trigger(app.EVENT.NOTIFY);
return false;
})
}(this);
}
NoteApp = new NoteApp();
})(jQuery);
答案 0 :(得分:2)
以下是关于您的代码的一些评论:
notifications
数组始终为空 - []
。您的代码中没有任何内容可以将元素放入其中,因此bind函数可以绑定到任何内容。NoteApp = new NoteApp();
,ask_number
和ask_email
元素尚未初始化时,应调用ask_out
。