zoukankan      html  css  js  c++  java
  • backbone event inherit

    View Code
    var Base = Backbone.View.extend({
                    initialize: function () {
                        this._hello = "hello world!!";
                        console.log('Base::initialize');
                    },
                    events: {
                        'click .j-inherit-click': 'inheritClick',
                        'click .j-inherit-click2': 'inheritClick2'
                    },
                    inheritClick: function (event) {
                        event.preventDefault();
                        console.log('Base::inheritClick');
                    },
                    inheritClick2: function (event) {
                        event.preventDefault();
                        console.log('Base::inheritClick');
                    },
                    template: $('#sidebar').html(),
                    render: function () {
                        this.$el.html(this.template);
                        return this;
                    },
                    promptColor: function () {
                        var cssColor = prompt("Please enter a css color");
                        this.set({color: cssColor});
                    }
                });
    
                var Sidebar = Base.extend({
                    initialize: function () {
                       // Base.prototype.initialize.apply(this, arguments);
                        this.constructor.__super__.initialize.apply(this, arguments);
                        console.log('Sidebar::initialize');
    
    // 继承方式1
    //                    var obj = {
    //                        'click .j-inherit-click': 'inheritClick'
    //                    };
    //                    this.events = $.extend({}, Base.prototype.events, obj);
                    },
    
    //                events: {
    //                    'click .j-inherit-click': 'inheritClick'
    //                },
    
    // 继承方式2
    //                events: function () {
    //                    var obj = {
    //                        'click .j-inherit-click': 'inheritClick'
    //                    };
    //                    var obj2 = $.extend({}, Base.prototype.events, obj);
    //                    return obj2;
    //                },
    
    // 继承方式3 推荐这种
                    events: function () {
                        var obj = {
                            'click .j-inherit-click': 'inheritClick'
                        };
                        var obj2 = $.extend({}, this.constructor.__super__.events, obj);
                        return obj2;
                    },
    
                    inheritClick: function (event) {
                        event.preventDefault();
                        console.log('Sidebar::inheritClick');
                    },
    
                    inheritClick2: function (event) {
                        event.preventDefault();
                        console.log('Sidebar::inheritClick2 override Base::inheritClick2');
                    },
    
                    template: $('#sidebar2').html(),
    
                    render: function () {
                        this.$el.html(this.template);
                        return this;
                    }
                });
  • 相关阅读:
    break语句和continue语句
    switch注意事项
    运算符优先级
    混合赋值运算符做算数运算时不改变自身数据类型
    arpspoof+ettercap嗅探局域网HTTP/HTTPS账号密码
    linux上chrome、vlc等程序root不能运行的解决办法
    kalilinux、parrotsecos没有声音
    linux相关文章链接
    live kalilinux能保存文件和设置
    渗透测试文章链接
  • 原文地址:https://www.cnblogs.com/leamiko/p/2955506.html
Copyright © 2011-2022 走看看