?【Backbone.js入门教程 #GitHub#】Backbonejs中的Model实践

Backbone.js入门教程

 

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title></title>
</head>
<body>
    <script src="test/vendor/jquery.js"></script>
    <script src="test/vendor/underscore.js"></script>
    <script src="backbone.js"></script>
    <script>
        var Man = Backbone.Model.extend({
            url: /man/,
            initialize: function() {
                console.log(initialize)
                // 初始化时绑定监听
                this.bind(change:name, function() {
                    var name = this.get(name)
                    console.log(you changed name to  + name)
                })
                this.bind(invalid, function(model, error) {
                    console.log(error)
                })
                this.bind(error, function(model, error) {
                    console.log(error)
                })
            },
            defaults: {
                name: name,
                age: age
            },
            validate: function(attributes) {
                if (attributes.name == ‘‘) {
                    return name不能为空
                }
            },
            aboutMe: function() {
                return wo jiao  + this.get(name)
            }
        })

        var man = new Man
        console.log(man.get(name))
        man.set({name: ‘‘})
        console.log(man.get(name))
        console.log(man.aboutMe())
        // 调用save方法时会post对象的所有属性到server端
        // 调用fetch方法是又会发送get请求到server端
        // 接受数据和发送数据均为json格式
        man.save() // save时触发验证。根据验证规则,弹出错误提示

        //man.fetch()
        //man.fetch({url:‘/man/‘})
        man.fetch({
            url: /man/,
            success: function(model, response) {
                // model 为获取到的数据
                console.log(model.get(name))
            },
            error: function() {
                console.log(error)
            }
        })
        // 你设置了urlRoot之后,你发送PUT和DELETE请求的时候,其请求的url地址就是:/baseurl/[model.id]
    </script>
</body>
</html>

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。