backbone中get和fetch的区别

默认分类 未结 1 367
_melody_200
_melody_200 2023-03-18 17:27
相关标签:
1条回答
  • 2023-03-18 18:23

    我也是刚开始接触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吧~就到这里~不对的地方希望大家指正~

    0 讨论(0)
提交回复