• 201507221403_《backbone之一——新建模型和集合、实例化模型、模型上监听事件的方法、模型设置和获取后台数据、配置理由方法、视图绑定事件的方法、绑定模型等》


    一 . 新建

    var model_1 = new Backbone.Model({'name':'hello'});

    var model_2 = new Backbone.Model({'name':'hi'});

    var models = new Backbone.Collection();

    models.add( model_1 );

    models.add( model_2 );

    alert( JSON.stringify(models) );

    二. 实例化模型

    var M = Backbone.Model.extend({
        aaa : function(){
            alert(123);
        }
    });

    var ChildM = M.extend();

    var model = new ChildM;
    model.aaa();

    三. 模型上监听事件的方法

    $(function(){

        var M = Backbone.Model.extend({
            defaults : {
                name : 'hello'
            }
        });
        
        var V = Backbone.View.extend({
                
            initialize : function(){
                
                this.listenTo( this.model , 'change' , this.show );
                
            },
            show : function(model){
                $('body').append( '<div>'+ model.get('name') +'</div>' );
            }
            
        });
        
        
        var m = new M;
        var v = new V({model:m});
        m.set('name','hi');

    });

    四. 模型设置和获取后台数据

    Backbone.sync = function(method, model) {
          alert(method + ": " + JSON.stringify(model));
    };

    var C = Backbone.Collection.extend({
        initialize : function(){
            this.on('reset',function(){
                alert(123);
            });
        }, 
        url: '/users'
    });

    var models = new C;
    models.fetch();

    五. 配置理由方法

    var Workspace = Backbone.Router.extend({

        routes: {
            "help":                 "help",    // #help
            "search/:query":        "search",  // #search/kiwis
            "search/:query/p:page": "search"   // #search/kiwis/p7
        },
        
        help: function() {
            alert(1);
        },
        
        search: function(query, page) {
            alert(2);
        }

    });

    var w = new Workspace;
    Backbone.history.start();

    六. 视图绑定事件的方法

    $(function(){
        
        var V = Backbone.View.extend({
            
            el : $('body'),
            events : {
                'click input' : 'aaa',
                'mouseover li' : 'bbb'
            },
            aaa : function(){
                alert(123);
            },
            bbb : function(){
                alert(456);
            }
            
        });
        
        var veiw = new V;
        
    });

    七. 绑定模型

    $(function(){

        var M = Backbone.Model.extend({
            defaults : {
                name : 'hello'
            }
        });
        
        var V = Backbone.View.extend({
                
            initialize : function(){
                
                this.listenTo( this.model , 'change' , this.show );
                
            },
            show : function(model){
                $('body').append( this.template(this.model.toJSON()) );
            },
            template: _.template($('#template').html())
            
        });
        
        
        var m = new M;
        var v = new V({model:m});
        m.set('name','hi');

    });

    八. 

    前端-语言
  • 相关阅读:
    简单粗暴的tensorflowRNN
    简单粗暴的tensorflow多层感知机(MLP)
    简单粗暴的tensorflow模型导出
    Tensorflow
    简单粗暴的tensorflowTensorBoard可视化
    linux deb文件安装
    numpy.squeeze()的用法
    pandas
    图像融合opencv中addWeighted()
    numpy线性代数
  • 原文地址:https://www.cnblogs.com/beesky520/p/4667332.html
Copyright © 2020-2023  润新知