继续未定义

时间:2013-05-18 06:39:07

标签: javascript jquery backbone.js

我正在研究javascript骨干项目。我声明了一个全局对象,如关注

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

TWO

此日志行显示

 undefined

如果我console.log(App.hello),它仍然会说undefined

请帮助我在这段代码中做错了什么?

更新

以下是我的问题的所有相关代码。我正在使用requirejs和backbone

这是我的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

1 个答案:

答案 0 :(得分:0)

尝试改变:

var App = Backbone.View.extend({

到别的地方。像这样:

var iApp = Backbone.View.extend({