我正在研究 javascript 骨干项目。我声明了一个像follow这样的全局对象
window.App = { Vent: _.extend({}, Backbone.Events) }
我在上面做了initialize
如下功能
initialize: function () {
window.App = { Vent: _.extend({}, Backbone.Events), hello: 'yes' };
console.log(App); // This is ONE. see explanation below for ONE
console.log(App.Vent); // This is TWO. see explanation below
}
ONE 此日志行显示以下内容
function (){return parent.apply(this,arguments)} app.js:22
二
此日志行显示
undefined
另外,如果我这样做console.log(App.hello)
,它仍然会说undefined
请帮助我在这段代码中做错了什么?
更新
这是我的问题的所有相关代码。我正在使用 requirejs 和主干
这是我的 main.js
require(['domReady', 'views/app', 'jqm'], function (domReady, AppView) {
domReady(function () {
window.App = { Vent: _.extend({}, Backbone.Events) };
new AppView();
});
});
这是views/app.js
文件
define(['backbone', 'views/home/homes', 'collections/homes'], function (Backbone, HomesView, HomesCollection ) {
var App = Backbone.View.extend({
el: 'div#page',
events: {
'swipeleft': 'nextView',
'swiperight': 'preView'
},
nextView: function (e) {
console.log(App.Vent);
//App.Vent.trigger('changeView', { direction: 'next' });
},
preView: function (e) {
console.log(App.Vent);
//App.Vent.trigger('changeView', { direction: 'prev' });
}
});
return App;
});
我在这个文件中所做的是当用户swipes left or right
调用 nextView 和 preView 函数时。在这些函数中,我想触发我在另一个视图中收听它们的事件。但现在我想安慰它。但它说undefined