【发布时间】:2012-04-22 00:54:12
【问题描述】:
这是我在 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);
}
});
有人可以帮我解决这里的问题吗?我知道我在这里做错了什么,并就此寻求专家建议。非常感谢此场景的工作示例。
【问题讨论】:
-
你能给你的错误一些上下文吗?您尝试过什么来解决这个问题?
标签: backbone.js underscore.js backbone-routing backbone-model