zoukankan      html  css  js  c++  java
  • Backbone入门教程

    Backbone笔记

    入职新的公司,公司前端使用Backbone进行开发。这里记录下Backbone使用教程及技巧。Backbone框架是个成熟又小巧的前端MVC库。

    Backbone.View(视图)

    • reander:默认实现是没有操作的
    
    //html代码
        <div id="search_container"></div>
        	<script type="text/template" id="search_template">
            	<div>
                <%= search_label %>
            </div>
        </script>
    //js代码
    	 var SearchView = Backbone.View.extend({
                    initialize: function () {},
                    render: function (context) {
                        console.log($(this.el))
                            //使用underscore这个库,来编译模板
                        var template = _.template($("#search_template").html());
                        //加载模板到对应的el属性中
                        $(this.el).html(template(context));
                    }
                });
                var searchView = new SearchView({
                    el: $("#search_container")
                });
    
                //这个reander的方法可以放到view的构造函数中
                //这样初始化时就会自动渲染
                searchView.render({
                    search_label: "搜索渲染111"
                });
    

    Backbone.Collection(集合)

    • add:向集合中添加一个模型
    • where:返回集合中所有匹配所传递 attributes(属性)的模型数组
    • fetch():用于从服务器接口获取集合的初始化数据,覆盖或追加到集合列表中
    • create():在集合中创建一个新的模型,并将其同步到服务器
    
    var appModel = Backbone.Model.extend({
        initialize: function(){ 
            //alert(this.get("test"));
        },
        defaults:{ //缺省值
            test: '1111'
        }
    })
    
    //new appModel;
    
    var appCollection = Backbone.Collection.extend({
        modle: appModel //指定模型
    })
    
    var appModel1 = new appModel({test: '2222'})
    var appModel2 = new appModel({test: '333333'})
    var appModel3 = new appModel({test: '44444'})
    
    //添加到集合中
    var book = new appCollection([appModel1,appModel2,appModel3]) 
    
    //each取数据
    book.each(function(book){
        console.log(book.get('test'))
    })
    
  • 相关阅读:
    LeetCode——Length of Last Word
    Leetcode--Remove Duplicates from Sorted Array
    Cocos2d-x 精灵碰撞检測(方法二)
    hibernate中持久化对象的生命周期(三态:自由态,持久态,游离态 之间的转换)
    Jquery Ajax时 error处理 之 parsererror
    DropdownList绑定的两种方法
    mac 系统开发android,真机调试解决方式(无数的坑之后吐血总结)
    淘宝PK京东:哥刷的不是广告,刷的是存在
    历时一年,我的著作《第一行代码——Android》已出版!
    编程算法
  • 原文地址:https://www.cnblogs.com/Baiang/p/5290835.html
Copyright © 2011-2022 走看看