Показать сообщение отдельно
  #1 (permalink)  
Старый 18.01.2017, 20:49
Аватар для Bologercs
Интересующийся
Отправить личное сообщение для Bologercs Посмотреть профиль Найти все сообщения от Bologercs
 
Регистрация: 03.11.2013
Сообщений: 13

defaults проблема
Есть допустим такой плагин. В нем есть приватная функция, которая перезаписывает текущие defaults настройки плагина на те, которые были введены при инициализации конструктора.
(function() {
    this.MyPlugin = function() {
        this.streamers = null;

        var defaults = {
            appId: '',
            container: '#some-container',
            anotherCont: '#some-container-1'
        }

        if (arguments[0] && typeof arguments[0] === "object") {
            this.options = extend(defaults, arguments[0]);
        }
    }

    function extend(defaults, options ) {
        var extended = {};
        var prop;
        for (prop in defaults) {
            if (Object.prototype.hasOwnProperty.call(defaults, prop)) {
                extended[prop] = defaults[prop];
            }
        }
        for (prop in options) {
            if (Object.prototype.hasOwnProperty.call(options, prop)) {
                extended[prop] = options[prop];
            }
        }
        return extended;
    };
}());


<script>
<script>
	var MP= new MyPlugin({
		appId: 999999, 
		container: '#hello-world',
		anotherCont: '#hello-world2'
	});
</script>


В итоге получается следующее: что в конструктор попадает только appId и все. Как сделать так, чтобы '#hello-world' и '#hello-world2' тоже заменились в defaults. Заранее спасибо за помощь.

Последний раз редактировалось Bologercs, 18.01.2017 в 21:16.
Ответить с цитированием