zoukankan      html  css  js  c++  java
  • backbone Model

    requirejs.config({
        baseUrl: 'js/lib',
        paths:{
            app: '../app'
        }
    })
    // Start the main app logic.
    //requirejs===define===require源码:var requirejs, require, define;
    requirejs(['jquery', 'underscore', 'backbone_1.2.3'],
        function   ($,        _,   Backbone) {
            var Book = Backbone.Model.extend(
                {
                    defaults:{
                        name:"unknnown",
                        author:"unknown&",
                        price:0
                    },
                    validate:function(data){
                        if(data.price>100){
                            return "大于100了";
                        }
                    }
                }
    
            );
            /*function Book(){
                this.defaults = 上面那个
            }*/
            var javabook = new Book({
                name:"thinking in java"
            })
            // 监听模型"change"事件
            javabook.on('change', function(model) {
                //console.log('change事件被触发');
            });
            // 监听"change:price"事件
            /*previous()方法接收一个属性名,并返回该属性在修改之前的状态;
             previousAttributes()方法返回一个对象,该对象包含上一个状态的所有数据。
            需要注意的是,previous()和previousAttributes()方法只能在数据修改过程中调用
            (即在模型的change事件和属性事件中调用)*/
            javabook.on('change:price', function(model, value) {
                var price = model.previous('price');
                if(price < value) {
                    console.log('价格上涨了' + (value - price) + '元.');
                } else if(price > value) {
                    console.log('价格下降了' + (value - price) + '元.');
                } else {
                    console.log('价格没有发生变化.');
                }
            });
            // 监听error事件,当验证失败时触发
            javabook.on('invalid', function(model, error) {
                console.log(error);
            });
            // 通过set方法设置模型数据
            javabook.set('name', 'Java7入门经典');
            javabook.set('author', 'Ivor Horton');
            javabook.set('price', 883,{
                validate:true
                //silent : true不校验
            });
            /*unset()方法用于删除对象中指定的属性和数据
            clear()方法用于删除模型中所有的属性和数据*/
            javabook.clear();
            var name = javabook.get("name");
            var author = javabook.escape("author");
            console.log(javabook);
            console.log(name);
            console.log(author);
        }
    );

    http://yujianshenbing.iteye.com/blog/1748571

  • 相关阅读:
    RFC3261--sip
    windows中.msc文件详解
    tcpdump详细用法
    2017-2018 ACM-ICPC, NEERC, Northern Subregional Contest
    2017-2018 ACM-ICPC, NEERC, Moscow Subregional Contest
    2017 CERC
    2017 SWERC
    2017 NWERC
    2017 NEERC
    2017-2018 ACM-ICPC, NEERC, Southern Subregional Contest, qualification stage
  • 原文地址:https://www.cnblogs.com/darr/p/5010335.html
Copyright © 2011-2022 走看看