如何从不同的文件连接事件?Javascript/主干

如何从不同的文件连接事件?Javascript/主干,javascript,jquery,backbone.js,Javascript,Jquery,Backbone.js,我正在尝试使用.on方法让一个文件侦听另一个文件,如果发生更改,我希望它触发新视图的呈现。这是我的尝试,甚至得到一些打印到控制台,它是不工作的 这是我的路由器文件: define([ 'jquery', 'underscore', 'backbone', 'views/page', 'models/search', 'views/search', 'text!templates/search.html' ], function($, _,

我正在尝试使用.on方法让一个文件侦听另一个文件,如果发生更改,我希望它触发新视图的呈现。这是我的尝试,甚至得到一些打印到控制台,它是不工作的

这是我的路由器文件:

define([
    'jquery',
    'underscore',
    'backbone',
    'views/page',
    'models/search',
    'views/search',
    'text!templates/search.html'
], function($, _, Backbone, PageV, SearchM, SearchV, SearchT) { 
    var vent = _.extend({}, Backbone.Events);
    var AppRouter = Backbone.Router.extend ({
        routes: {
            'page/:id': 'showPage',
            's': 'showView'
        }
    });
    var initialize = function () {
        var app_router
        app_router = new AppRouter;
        app_router.on('route:showPage', function (id) {
            var page = new PageV();
            page.render(id);
        });

        **app_router.on('route:showView', function () {
            var searchM = new SearchM({vent: vent});
            var search = new SearchV({model: searchM, vent: vent}); //
            $('#Sirius').html( SearchT );
            search.render();    
                vent.on('nextPage', this.printCons);
                function printCons () {
            console.log('printing from listening')
            };** 


        });


        Backbone.history.start();
    };
    return {
        initialize: initialize
    };
});
这是正在呈现的搜索视图文件,但不调用路由器中的console.log函数(被星号包围)

函数正在被调用,并且一切正常,我正在努力使事件在路由器端被听到,这样我就可以让用户在单击submit按钮后导航到另一个页面,并且返回的响应成功存储在localstorage上。确实调用了nextPage函数,但我认为我没有正确地实现vent.trigger或.on。。。我在路由器和视图中都调用它(var vent=…)

正在两个js文件中初始化vent,这两个文件创建了两个不同的未连接对象。若要在搜索视图文件中修复此问题,请删除通风声明。在下一页功能更改

 vent.trigger('nextPage', this.model)


是的,最后我让它工作了,我做了类似的事情,但是两个不同的变量是个问题更好,有了requirejs,我维护了一个全局模型实例,它可以作为依赖项加载到任何模块,我确实链接了所有的util方法和全局变量。这有助于我在视图级别侦听全局模型更改。
var vent = _.extend({}, Backbone.Events);
 vent.trigger('nextPage', this.model)
 var vent = this.model.get('vent');
 vent.trigger('nextPage', this.model)