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‘);

});

八.

时间: 2024-10-14 05:17:31

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

黑马程序员----java基础--JDK新特性和集合其他类

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 一.JDK1.5新特性 JDK升级的三大原因: (1).提高代码的复用性 (2).提高代码的安全性 (3).简化书写 1.泛型机制 JDK1.5版本以后出现新特性.用于解决安全问题,是一个类型安全机制. (1).泛型概念 泛型是根据数组的思想设计出来的,因为数组一旦建立成功就已经明确了数据类型,所以可根据数组思想给集合指定类型. 如:数组:int[] arr=new int[4]; 而集合的泛

泛型,JDK5新特性,List集合子实现类,Map集合,Set/TreeSet集合,asList

一.泛型(JDK5以后新特性) 1.概述:泛型直接规定集合的存储类型,将明确的集合类型的工作推迟到了创建对象或者调用方法的时候,属于一种参数化类型,可作参数传递.2.优点(1)将运行时期异常提前到了编译时期:(2)优化了设计,解决了×××警告线问题:(3)避免了强制类型转换, ,解决了向下类型转换出现的问题ClassCastException:(4)泛型的引出可以提供程序的安全性.3.泛型定义在类上(1)格式:public class 类名<T>{--}(2)实例:实体类: 测试类: 4.泛型

Java8 新特性之集合操作Stream

Java8 新特性之集合操作Stream Stream简介 Java 8引入了全新的Stream API.这里的Stream和I/O流不同,它更像具有Iterable的集合类,但行为和集合类又有所不同. stream是对集合对象功能的增强,它专注于对集合对象进行各种非常便利.高效的聚合操作,或者大批量数据操作. 为什么要使用Stream 函数式编程带来的好处尤为明显.这种代码更多地表达了业务逻辑的意图,而不是它的实现机制.易读的代码也易于维护.更可靠.更不容易出错. 高端 使用实例: 测试数据:

IOS 获取网络图片的大小 改变 图片色值 灰度什么的方法集合

第一.复制对象的基本概念 复制一个对象为副本,开辟一块新的内存来存储副本对象. 第二.如果一个对象想具备复制的功能,必须实现<NSCopying>协议和<NSMutableCopying>协议 NSObject自带的常用的对象有:NSNumber.NSString.NSArray.NSDictionary.NSMutableArray.NSMutableDictionay.NSMutableString,copy产生的对象时不可变的,mutableCopy产生的对象时可变的 第三.

绑定: 通过 Binding 绑定对象, 通过 x:Bind 绑定对象, 通过 Binding 绑定集合, 通过 x:Bind 绑定集合

背水一战 Windows 10 之 绑定 通过 Binding 绑定对象 通过 x:Bind 绑定对象 通过 Binding 绑定集合 通过 x:Bind 绑定集合 示例1.演示如何通过 Binding 绑定对象Bind/BindingModel.xaml <Page x:Class="Windows10.Bind.BindingModel" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation

背水一战 Windows 10 (22) - 绑定: 通过 Binding 绑定对象, 通过 x:Bind 绑定对象, 通过 Binding 绑定集合, 通过 x:Bind 绑定集合

[源码下载] 作者:webabcd 介绍背水一战 Windows 10 之 绑定 通过 Binding 绑定对象 通过 x:Bind 绑定对象 通过 Binding 绑定集合 通过 x:Bind 绑定集合 示例1.演示如何通过 Binding 绑定对象Bind/BindingModel.xaml <Page x:Class="Windows10.Bind.BindingModel" xmlns="http://schemas.microsoft.com/winfx/20

list集合绑定在datagridview上时如何实现排序

List<Person> lst = new List<Person>(); lst.Add(new Person("A", "1")); lst.Add(new Person("C", "2")); lst.Add(new Person("B", "3")); BindingCollection<Person> objList = new Bindi

为什么希捷选择了8GB作为标准的闪存容量呢?答案就在下面(新的驱动器可以实现一定程度上的写入缓存)

与前两代Momentus XT产品不同,希捷称第三代混合硬盘所使用的技术更接近真正的SSHD(Solid State Hybrid Disk?),而不是HHD.也就是说更偏向于固态硬盘.首先它不会属于Momentus XT系列,至少不会是Momentus品牌.希捷似乎有意将其宣传为笔记本电脑SSHD.台式机SSHD或是笔记本轻薄SSHD,这就让人听得一头雾水.至于为什么希捷要放弃原有的Momentus XT之名,公司并没有给出任何关于这方面的解答. 那么,为什么希捷选择了8GB作为标准的闪存容量

jquery在ajax新加入的元素后绑定事件click

使用YII在做一个点击小图.能够在弹出窗体中显示大图的功能的时候,发现.GridView首页面的列表项按点击时一切正常,但按下了下一页后. 再点击小图,就不起作用了.原来,这是GridView使用了ajax分页,分页后的元素是新添加的,所以不会绑定事件,要改变这种状况,能够例如以下方法解决. 原来的代码:admin.php $(document).ready(function(){ $(".r_img img").click(function(){ var path=$(this).a