我是backbone.js的新手,为了试一试,我做了一个函数来使用我的数组追加一个元素.但我不知道如何从服务器或本地路径获取相同的内容.
我尝试了一些教程,但仍然无法获得任何好结果.任何人都可以更正我的功能从本地文件夹或服务器获取数据吗?
代码:
这是我的本地路径: '..data/data.json'
(function($){
var student = [
{name:'student1'},
{name:'student2'},
{name:'student3'}
]
var model = Backbone.Model.extend({
defaults:{
name:'default name'
}
});
var collection = Backbone.Collection.extend({
model:model
});
var itemViews = Backbone.View.extend({
tagname:'li',
render:function(){
this.$el.html(this.model.get('name'));
return this;
}
})
var view = Backbone.View.extend({
el: $("#contacts"),
initialize:function(){
this.collection = new collection(student);
this.render();
},
render:function(){
var that = this;
_.each(this.collection.models, function(item){
that.renderName(item);
})
},
renderName:function(item){
var itemView = new itemViews({model:item});
this.$el.append(itemView.render().el);
}
});
Run Code Online (Sandbox Code Playgroud)
集合具有url链接到可以获取模型的URL 的属性(当然,以适当的JSON格式).
如果您有RESTful API,则可以将它们直接绑定到后端的集合.
在您的情况下,您可以按如下方式修改集合定义
var collection = Backbone.Collection.extend({
model:model,
url: '..data/data.json' //OR WHATEVER THE URL IS
});
Run Code Online (Sandbox Code Playgroud)
然后在实例化集合时,必须调用fetch()方法来填充集合.
myCollection = new collection();
myCollection.fetch();
Run Code Online (Sandbox Code Playgroud)
有关更多信息,请参阅此文章
| 归档时间: |
|
| 查看次数: |
6127 次 |
| 最近记录: |