我的代码如下所示:
<!doctype html>
<html>
<head>
<title>Backbone tutorial</title>
</head>
<body>
<div class="user">user</div>
<div class="page"></div>
<script type="text/template" id="user-list-template">
<h1> <%= data.key %> </h1>
</script>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="underscore.js"></script>
<script type="text/javascript" src="backbone.js"></script>
<script>
这是我的收藏代码
var Album = Backbone.Collection.extend({
url : "/data.json"
});
这是我的观看代码
var UserList= Backbone.View.extend({
el:'.page',
template:_.template($('#user-list-template').html()),
render : function(){
var that=this;
var album= new Album();
album.fetch({
success:function(album){
var _data = {data : album.models} ;
$(that.el).html(that.template(_data));
}
})
}
});
这是我的路由器代码
var Router = Backbone.Router.extend({
routes: {
"": "home" // #help
}
});
var userList= new UserList();
var router = new Router();
router.on('route:home', function(){
userList.render();
});
Backbone.history.start();
</script>
</body>
</html>
这是data.json文件
{ "key" : "value to print on template "}
答案 0 :(得分:1)
这里有很多问题。首先,Collection应包含Models,您在创建集合时由模型指定。 其次,成功回调返回收到的数据,而不是集合。 第三,在渲染调用中执行AJAX是一个坏主意。
你应该做什么,理想情况如下: