Javascript-форум (https://javascript.ru/forum/)
-   Prototype & script.aculo.us (https://javascript.ru/forum/prototype-script-aculo-us/)
-   -   defaults проблема (https://javascript.ru/forum/prototype-script-aculo-us/66935-defaults-problema.html)

Bologercs 18.01.2017 19:49

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. Заранее спасибо за помощь.

рони 18.01.2017 19:57

Цитата:

Сообщение от Bologercs
Как сделать так, чтобы '#hello-world' и '#hello-world2' тоже заменились в defaults

а почему вы уверены, что это не так?

Bologercs 18.01.2017 20:12

Цитата:

Сообщение от рони (Сообщение 441296)
а почему вы уверены, что это не так?

Потому что это должно работать. Вопрос только в одном: почему оно не работает.
В прошлой раз такой проблемы не было. Сейчас уже не могу найти свой старый код, так бы сюда не писал.

Есть варианты как решить эту проблему?

Rise 18.01.2017 20:36

Bologercs, используй [JS run] и покажи как ты определил что что-то не попадает куда-то.

Bologercs 18.01.2017 21:52

Все решилось... По тупости изменял другой файл и не мог понять почему у меня не получалось отправить новые настройки для плагина.


Часовой пояс GMT +3, время: 13:39.