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