これらは、BackBone.jsに取り組んだ最初の日です。コンソールに「エラー:URLプロパティまたは関数を指定する必要があります」というエラーが表示されるため、実際にはルーターの部分で立ち往生しています。これが私のシナリオです。REST URLを動的に形成し、それに応じてサーバーからデータをフェッチするクリック関数があります。
これがクリック機能コードです
function onUserClick(obj){
var userID=$(obj).attr('id');
window.location.href="#"+userID+"/";
var userRouter = new UserRouter;
}
そして私はルーターに次のコードを持っています
var userModel;
var UserRouter = Backbone.Router.extend({
routes:{
":userid/":"getUsers"
},
getUsers:function(userid){
var url="http://myserver.com/users/"+userid;
userModel = new UserModel({urlRoot:url});
var userView = new UserView({el:$(#"container")});
}
});
var UserModel = Backbobe.Model.extend({});
var UserView = Backbone.View.extend({
model:userModel,
initialize:function(){
_.templateSettings = {
interpolate: /\{\{\=(.+?)\}\}/g,
evaluate: /\{\{(.+?)\}\}/g
};
this.model.fetch();
this.model.bind("change",this.render,this);
},
render:function(){
var data=this.model.toJSON();
var userTemplate=_.template($("#userTemplate").text());
var htmlData=userTemplate({
"userData":data
});
$(this.el).html(htmlData);
}
});
誰かが私がここで問題を理解するのを手伝ってもらえますか?私はここで何か間違ったことをしたことを知っており、これについて専門家のアドバイスを求めています。このシナリオのウォーキングサンプルは大歓迎です。