MooTools классы - PullRequest
       11

MooTools классы

2 голосов
/ 03 февраля 2010

Все мои классы MooTools выглядят так:

myClass = new Class({

    initialize: function(options) { 

        if (optionsType === 'object') {
            for (var key in options) {
                this[key] = options[key];
            }
        }

    }

});

Это необходимо?Разве в MooTools нет чего-то встроенного для меня, чтобы это выполнить?

Или мне нужно создать суперкласс?

1 Ответ

9 голосов
/ 03 февраля 2010

эм, в идеальном мире внедрите в него Options, он сделает это за вас:

var myclass = new Class({
    Implements: [Options],
    options: {  // default options:
        foo: "foobar"
    },
    initialize: function(options) {
        this.setOptions(options);
        alert(this.options.foo);
    }
});

new myclass({foo: "bar"}); // alerts bar
new myclass(); // alerts foobar

есть и другой способ сделать это в функциях, используя $ merge (устарело с версии 1.3) или универсальный Object.merge для объектов:

var myfunc = function(options) {
    var options = Object.merge({
        foo: "bar"
    }, options);

    alert(options.foo);
};

myfunc({foo: "fighters"});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...