0
新しいBackboneJSプロジェクトを開始し、簡単なコードを実装しました。 正しい機能が呼び出されていないと思いますが、エラーは表示されず、予想通りconsole.log
コールも表示されません。バックボーンがロードされていないコレクション
import _ from 'underscore';
import {Events} from 'backbone';
import Observables from './Models/Observables';
import ObservablesView from './Views/ObservablesView';
(function() {
let setGlobals = function() {
window.App = {};
App.events = _.clone(Events);
};
let init = function() {
setGlobals();
// Get the collection from localStorage.
let observables = new Observables();
new ObservablesView({el: "#observables", collection: observables});
Backbone.history.start({pushState: true});
};
window.addEventListener('load', init);
})();
これは私のルータです:
import {Backbone} from 'backbone';
import {Router} from 'backbone';
const FedRouter = Router.extend({
routes: {
'': 'index'
},
index: function() {
App.events.trigger('observables');
}
});
export default FedRouter;
は、これが私の見解です:
import {View} from 'backbone';
import FedRouter from "../FedRouter";
/**
* ObservablesView is the list of items we want to keep track of.
*/
const ObservablesView = View.extend({
router: null,
/**
* Init a new view object.
* @constructor
*/
initialize: function() {
this.router = new FedRouter();
App.events.on('observables', this.loadObservables, this);
},
loadObservables: function() {
console.log("loadObservables");
this.collection.fetch({
success: (collection) => console.log(collection),
error: (collection, response) => console.log(response)
});
}
});
export default ObservablesView;
マイコレクション:
import {Backbone} from 'backbone';
import {Collection} from 'backbone';
import Observable from './Observable';
import Store from 'backbone.localstorage';
const Observables = Collection.extend({
model: Observable,
localStorage: new Store('fed-observables')
});
export default Observables;
そして最後に、私のモデル:
import {Model} from 'backbone';
const Observable = Model.extend({
});
export default Observable;
したがって、「loadObservables」というメッセージが記録されていないことがあります。私は何を正しく設定していないのですか?
この文は正常に実行されていますか? window.addEventListener( 'load'、init); ロード・イベント・バインディングに問題があります。 また、jQueryを使用している場合は、document.readyで同じことを実行してみてください。 単なる考えです。 – Nitesh
コンソールにフィルタが適用されていて、通常のログが表示されないことがあります。問題を示す[mcve]を作成できますか? –