0

私は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

2

このログ行ショー

 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

4

1 に答える 1