javascript - backbone的previous使用问题
大家讲道理
大家讲道理 2017-04-11 09:04:48
[JavaScript讨论组]

小弟最近学习backbone的时候遇到了一个问题。backbone有一个previous方法,这个方法可以获取model的在改变前的属性值。例如文档给的例子:

    var bill = new Backbone.Model({
        name: "张三"
    });

    bill.on("change:name", function(model, name) {
        alert("Changed name from " + bill.previous("name") + " to " + name);
    });

    bill.set({name : "李四"});

然后这是我学习中的:

    var a = Backbone.Model.extend({
        initialize:function () {
            this.on('change:age',function () {
                var old = this.previous('age');
                var newitem = this.get('age');
                if(old != newitem){
                    console.log('age 发生了变化');
                    console.log('之前是'+old);
                    console.log('之后是'+newitem);
                }
            })
        },
        default:{
            name:'张三',
            age:19
        }
    });
    
    var b = new a();
    b.on("change:name", function(model, name) {
        console.log("Changed name from " + b.previous("name") + " to " + name);
    });
    b.set({age:20});
    b.set({name:'a'});

这个例子照书上写的,那么问题来了为什么我的previous()方法返回的是undefined?

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

全部回复(0)
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号