Backbone笔记之二(Model/Collection)

本文详细介绍了Backbone.js中的Model和Collection,包括它们的数据结构、与后端的交互、事件绑定以及数据校验。Model是单条数据记录,支持自定义数据结构、自动与后端交互和事件绑定。Collection则是一个Model的集合,提供了添加、删除等操作。文中还通过示例演示了如何使用Model和Collection与一个基于web.py的后端进行CRUD操作,并讲解了Model的数据校验机制,以确保数据正确性。
摘要由CSDN通过智能技术生成

Model

View的部分基本上就是这样了,现在开始来谈Model。

Model其实就是一条数据记录。只不过它不是一般的静态数据记录,它不但可以不限定数据结构,还可以自动与后端交互,甚至还可以绑定事件以实现相应View的自动更新。

最简单的Model就是这样:

var Foo = Backbone.Model.extend({});
// 或是初始化默认数据
var Foo = Backbone.Model.extend({
    defaults: {
        name: "hello",
        value: "233"
    }
});
//  或是运行时赋值。
//  比如这样:
    var foo = new Foo({name:"world", value:"874"});
//  或这样:
    var foo = new Foo;
    foo.set({name:"world", value:"874"});

可以显示一下结果看看效果:

$("#body").text(JSON.stringify(foo.toJSON()));

Collection

Collection就是一个Model集合。因为Model是一条数据记录,也就是说,Collection相当于是一个数据集。

同样,一个最简单的Collection如下:

var FooList = Backbone.Collection.extend({
    model: Foo
});

之后你可以往里增加数据:

    var foos = new FooList;
    foos.add([{name:"hello", value:"233"},{name:"world", value:"874"}]);
    $("#body").text(JSON.stringify(foos.at(0)));

更新删除的方式请参考官方文档。

注意,每个Model记录会自动有一个id/cid的属性,是记录的唯一标志。比如:

foos.get(foos.at(0).cid)

Model的事件绑定

为了能在数据变更之后及时更新View上的显示,那就需要通过事件机制来处理。

var Task = Backbone.Model.extend({
    initializ
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值