【问题标题】:calling a view from another view in Backbone从 Backbone 中的另一个视图调用视图
【发布时间】: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 的东西?

标签: javascript backbone.js


【解决方案1】:

基本上,当您单击时,您应该按照 muistooshort 所写的方式渲染或重新渲染子视图。

这是一个很好的例子:http://todomvc.com/examples/backbone/

那里有很多教程。

【讨论】:

    猜你喜欢
    • 2017-10-07
    • 1970-01-01
    • 2013-06-08
    • 1970-01-01
    • 2015-04-09
    • 1970-01-01
    • 2011-06-16
    • 1970-01-01
    • 2016-06-24
    相关资源
    最近更新 更多