backbone中get和fetch的区别

本文详细解析了Backbone.js中的get和fetch方法的区别,get用于获取模型默认属性,fetch则用于从远程获取数据,同时解释了fetch方法的返回参数及默认属性与模型的关联。

  我也是刚开始接触backbone.js对于里面的很多东西都看过,但是具体在使用起来还是有很多问题,其中一个就是get和fetch的区别,这个让我很纠结,都是获取模型的数据,干嘛要有两个呢?最近好像弄明白了点,发到网上欢迎高手拍砖~!

  先说说get,在backbone中,get是用来获取模型中defaults的数据的,我们都知道模型中有一个叫做defaults的属性,而这个属性可能会有很多的数据,比如:

1 World = Backbone.Model.extend({  
2                defaults: {
3                    x: '1',
4                    y: '2'
5                }
6             });

这里面defaults的数据"x"和"y"就可以用get来获取了:

1 var data=new World();
2 alert(data.get('x'));

  这个就是get的用法。下面我们再来说说fetch的用法吧!

  还是在backbone的模型中有一个URL的属性,用这个属性可以访问远程的数据,从而更好的跟后台结合,下面就是用URL获取远程JSON的示例:

1 World = Backbone.Model.extend({  
2         url:'123.json'
3     });

  远程的JSON如下:

1 {
2 "employees": [
3 { "firstName":"Bill" , "lastName":"Gates" },
4 { "firstName":"George" , "lastName":"Bush" },
5 { "firstName":"Thomas" , "lastName":"Carter" }
6 ]
7 }

  下面我们要想获取这些数据就要用到fetch这个方法了:

1 var data=new World();
2     data.fetch({
3         success:function(model, text){
4             alert.log(text.employees);
5         },
6         error:function(){
7             alert("报错!");
8         }
9     });

  其中fecht有三个返回参数,(参考原版API(model, response, options),其中model就是返回当前的模型,在这个例子中就是data了。response就是返回的数据了,在此例子中就是text,而oprions现在我还没搞明白o(╯□╰)o~所以希望有知道的高手不吝赐教~

  说到这里还有一个就是fetch获取回数据后会添加给模型的defaults属性,然后用get获取其中的数值,当然这些都是fetch来模拟实现的了~具体的内容有感兴趣的同学自己去研究一下原版的BAKCBONE吧~就到这里~不对的地方希望大家指正~

转载于:https://www.cnblogs.com/woshikay/p/3555507.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值