实现方法:在实例化视图对象时,可以将collection属性设置为关联的集合对象,在构建视图类时,可以用this.collection的方式获取被关联的集合对象。样例如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Backbone视图类对象访问集合类对象</title>
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/underscore.js"></script>
<script type="text/javascript" src="js/backbone.js"></script>
</head>
<body>
<div class="test"></div>
</body>
</html>
<script type="text/javascript">
$(function(){
//定义模型类
var person=Backbone.Model.extend({
initialize:function(){
//构造方法
},
//初始化默认值
defaults:{
name:"",
age:"",
sex:"",
}
});
var data=[
{name:"张三",age:20,sex:"男"},
{name:"李四",age:30,sex:"女"},
{name:"王五",age:40,sex:"女"},
{name:"赵六",age:27,sex:"男"}
];
//实例化集合对象
var collectionObj=new Backbone.Collection(data,{
model:person
})
//定义视图类
var view=Backbone.View.extend({
el:".test",
//渲染视图类
render:function(){
//在视图类内部用this.collection访问集合类对象
var list=this.collection.models;
for(var i in list){
this.el.innerHTML+=JSON.stringify(list[i])+"</br>";
}
}
});
//实例化视图对象并关联集合对象
var viewobj=new view({collection:collectionObj});
viewobj.render();
})
</script>