zoukankan      html  css  js  c++  java
  • backbonejs学习之路二 collections篇

    collections顾名思义就是集合咯,model的集合啦。是不是很简单。我还是将上篇的model对象结合着讲下去吧。

     var PhotoCollection = Backbone.Collection.extend({

    //这个Photo就是上次讲的Photo的Model对象 

    model: Photo
    });
    var photoCollection = new Backbone.Collection();

    没办法,这个代码编辑器太蛋疼了。。。 这样一个Photo的collections就创建起来了。。。是不是很简单。当然了,跟Java等语言对collection提供的方法一样,同样有setter,getter,remove,add方法。这些个比较常用啦。

            var skiingEpicness = PhotoCollection.get(2); 

        var a = new Backbone.Model({ title: 'my vacation'}),  
                 b = new Backbone.Model({ title: 'my holiday'});
        var photoCollection = new PhotoCollection([a,b]);
        photoCollection.remove([a,b]);

     如何从服务器端获取Models呢?

    我以jsp为例子

     servlet代码

     1     public void doGet(HttpServletRequest request, HttpServletResponse response)
     2             throws ServletException, IOException {
     3 
     4         response.setContentType("text/html");
     5         PrintWriter out = response.getWriter();
     6         List<Photo> photos = new ArrayList();
     7         Photo photo = new Photo();
     8         photo.setSrc("photo1.png");
     9         photo.setTitle("photo1");
    10         photos.add(photo);
    11         photo.setSrc("photo2.png");
    12         photo.setTitle("photo2");
    13         photos.add(photo);
    14         String result="[";
    15         for(int i = 0;i<photos.size() ;++i){
    16             if(i!=photos.size()-1)    
    17                 result += "{\"src\":\""+photos.get(i).getSrc()+"\",\"title\":\""+photos.get(i).getTitle()+"\"},";
    18             else
    19                 result += "{\"src\":\""+photos.get(i).getSrc()+"\",\"title\":\""+photos.get(i).getTitle()+"\"}";
    20         }
    21         result+="]";
    22         out.println(result);
    23         out.flush();
    24         out.close();

    25     }

    很简单,我就不多做解释了。下面是前台代码.

      1 //从服务器取

     2                 photoCollection.url = 'photos';
     3                 photoCollection.fetch({
     4                     success:function(model,response){
     5                             
     6                             console.log(model);
     7                             //将接收到的model对象序列化为json字符串
     8                             console.log( JSON.stringify(model));
     9                             //将json字符串转化成json对象
    10                             console.log($.parseJSON(JSON.stringify(model))[0].src);
    11                     },
    12                     error:function(){
    13                             console.log('error');
    14                     }
    15                 });

     好了,是不是很简单啊

  • 相关阅读:
    pdf文件预览实现
    RPC failed; curl 56 OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 10054 问题解决
    Git、GitHub、GitLab三者之间的联系及区别(转)
    html中:befoer和:after用法(转)
    html中box-shadow用法(转)
    js/vue实现滑块验证(方法3)
    vue实现滑块验证(使用awsc实现)(方法1)
    js/vue实现滑块验证(组件形式,可重复调用)(方法2)
    js实现图片上传
    【英语】IT English (随时更新...)
  • 原文地址:https://www.cnblogs.com/itmangelihai/p/2789818.html
Copyright © 2011-2022 走看看