• 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

  • 相关阅读:
    关于石家庄铁道大学课程信息管理系统详细制作过程
    文件与流课后作业
    动手动脑java异常处理
    【HAOI2010】订货
    传纸条
    至省选の計劃
    P1382 光棍组织
    P1834 种花小游戏
    USACO 2015 December Contest, Gold Problem 2. Fruit Feast
    python操作
  • 原文地址:https://www.cnblogs.com/darr/p/5010335.html
Copyright © 2020-2023  润新知