私は、バックボーンとマリオネットを使って簡単なアプリケーションを作成しています。それは単に(APIを使用して)Wordpressの投稿のリストを取得し、それを表示することです。 非常にシンプルなアプリなので、モジュール化されていません。バックボーン・マリオネットが発射経路を持っていない
if (Backbone.history)
Backbone.history.start({ pushState: false });
if (Backbone.history.fragment === '')
API.listAllPosts();
else
API.listSinglePost(Backbone.history.fragment);
// Is not firing anything from here...
MyBlog.Router = Marionette.AppRouter.extend({
appRoutes: {
'': 'listPosts',
':post_name': 'listSingle'
},
listPosts: function() {
console.log('router');
API.listAllPosts();
},
listSingle: function(model) {
console.log('router, single');
API.listSinglePost(model);
}
});
// ...to here
var API = {
listAllPosts: function() {
// Fetch all posts and display it. It's working
},
listSinglePost: function(model) {
// Fetch a single post and display it. It's working
}
}
MyBlog.addInitializer(function() {
console.log('initializer'); // It's firing
new MyBlog.Router({
controller: API
});
});
Derick Bailey, Marionette's creator, saidとしてnaviagate上のトリガの使用について:
私は(それがすべて同じファイル内に置かれています)以下の持っている
それは悪いアプリのデザインを奨励し、それが強く、あなたをお勧めします を
trigger:true
からBackbone.history.navigate
に渡すことはできません。
ここに何がありますか?
@Emile Bergeronありがとう!それは私の投稿リストを表示して戻ってナビゲートしています。問題は、ルートの代わりにappRoutesを使用していたときと、それらを呼び出す方法でした。 ありがとうございます! – moreirapontocom