私のバックボーン アプリでは、 を使用しrequirejs
て js ファイルをロードします。同様に、別のビューが必要です。ドロップダウン メニューにリンクがありません。ドロップダウンメニューに従って、#url
例を追加します:
http://localhost:85/bino/html/interface-I.html#projectName/project11
ナビゲート メソッドは正常に動作し、URL を更新します。また、この URL をコピーして他のブラウザに貼り付けたり、現在のハッシュ状態で更新したりするたびに、router
メソッドが正常に動作します。
しかし、ドロップダウンメニューのリンクをクリックしても機能せず、メソッドが呼び出されません...理由は何で、どうすれば修正できますか..?
私のコード: メイン js ファイル (コードの一部)
var extender = _.extend({},backBone.Events);
var params ={
boardHolder :$('.boardHolder'),
column :3,
space :30,
extender :extender
};
var listApp = new routerer(params);
backBone.history.start();
extender.bind("list:selected",function(post){
listApp.navigate(post.category+'/'+post.filter);
});
私のルーターコード:
define(["backBone","singleton","listCollection","listView","listViews"],function(Backbone,singleton,listCollection,listView,listViews){
singleton.router = Backbone.Router.extend({
routes:{
"" :"appView",
"post" :"postView",
"projectName/:id" :"projectNameView",
"assignedTo/:id" :"assignedToView",
"sortBy/:id" :"sortByView"
},
initialize:function(params){
this.params = params;
this.collection = new listCollection;
console.log('i am called');
},
hashView:function(){
console.log('from hash view');
},
appView:function(){
var that = this;
// var defaultApp = new listCollection();
this.collection.fetch({
success:function(data){
new listViews({model:data,params:that.params})
}
})
},
projectNameView:function(thisView){ // not calling not sync
console.log('called',thisView); // on click not works
},
assignedToView:function(thisView){ // not calling not sync
console.log(thisView); // on click not works
},
sortByView:function(thisView){ // not calling not sync
console.log(thisView); // on click not works
}
});
return singleton.router;
})
前もって感謝します。