【发布时间】:2015-08-14 18:44:59
【问题描述】:
我有一个菜单项,单击该菜单项应打开一个聊天面板,该面板是不同视图的一部分。今天是我查看 Backbone 的第一天,我对单击元素时如何在另一个视图上调用函数有点困惑。
我想在菜单视图中显示如下内容:
view.$('.wkVideoCall')
.on('click', function() {
wk.ui.videoChat.videoChatView.open();
wk.ui.videoChat.openForChatUser();
});
其中wk.ui.videoChat.videoChatView 是将.open() 作为方法的视图。
但上述方法不起作用,是否有类似更改但点击我可以使用的事件?还是某种绑定函数?
我知道有这样的事情: 查看 1(菜单):
events: {
'click .wkVideoCall': 'openVideoChat'
},
openVideoChat: function() {
var videoChatView = new wk.ui.videoChat.videoChatView();
videoChatView.render();
},
查看 2(聊天面板):
(function() {
var self = wk.ui.videoChat;
self.VideoChatView = Backbone.View.extend({
el: function() {
[0];
return wk.core.template.load('videoChatTmpl')[0];
},
initialize: function() {
var view = this,
model = view.model,
$el = view.$el;
.on('myEvent', this.open);
view.$('.wkUnmuteVideo')
.on('click', function() {
self.muteMyVideo(false);
});
view.$('.wkUnmuteAudio')
.on('click', function() {
self.muteMyAudio(false);
});
view.$('.wkOptions')
.on('focus', function() {
self.showOptions();
})
.on('blur', function() {
self.hideOptions();
});
},
render: function() {
console.log("inside");
}
});
})();
但没有任何记录
【问题讨论】:
-
通常你在视图的
events中有click .wkVideoCall,然后你会为聊天创建一个新视图来处理事情。 -
@muistooshort 正在调查你所说的我添加了 events 键但我仍然不确定如何在另一个 veiw 上调用该事件?
-
您是否正在寻找类似this event bus 的东西?