Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 21.01.2016, 13:09
Интересующийся
Отправить личное сообщение для Trippal Посмотреть профиль Найти все сообщения от Trippal
 
Регистрация: 28.04.2015
Сообщений: 26

Проблемы с прототипированием
Вопрос решался написанием своей библиотеки наследования через метод родителя.
Добрый день, уважаемые форумчане.
есть проблемки с отцами и детьми.
вот базовый класс:
BaseSearchProvider = function(options,data){
	this.options = {
		name: this.name,
		url: this.url,
		urlOptions: this.urlOptions,
	};
	this.data = data;	
	return this;
};
BaseSearchProvider.prototype = {
	getName: function(name){
		if (option.service!= undefined){
			return this.options.name
		}else{alert("Установите провайдер")}
	},
	getUrl: function(url){
		if (option.service!= undefined){
				return this.options.url
		}else{alert("Установите провайдер")}
	},
	getUrlOptions: function(urlOptions){
		if (option.service!= undefined){
				return this.options.urlOptions
		}else{alert("Установите провайдер")}
	},
	getDataOptions: function(data){
		if (option.service!= undefined){
				return this.data
		}else{alert("Установите провайдер")}
	},
};

вот класс наследник:
function OsmSearchProvider(options,data) {
  BaseSearchProvider.call(this); 
};
OsmSearchProvider = Object.create(BaseSearchProvider.prototype);
OsmSearchProvider.prototype.constructor = OsmSearchProvider;
//переопределяем метод getDataOptions базового класса
OsmSearchProvider.getDataOptions = function(data) {
    if (data.type === "Feature") {
            resultCount = 1;
            features[0] = data;
            featureCollection = data;
        }
        else {
            features = data;
            resultCount = data.length;
            if (limitToSend === resultCount)
                featureCollection = data.slice(0, data.length - 1);
            else
                featureCollection = data;
        }
        createDropDown(withPaging);
        searchLayerType = (withPaging ? 1 : 0);
    
};

при создании экземпляра класса наследника возникает множество ошибок, такие как
OsmSearchProvider - не является функцией
Cannot set property 'constructor' of undefined

и так далее...

Итого...что я делаю не так? Ко всему прочему, посоветуйте, как сделать лучше...провайдеры находятся в разных файлах

Последний раз редактировалось Trippal, 21.01.2016 в 15:26.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблемы со слайдером. Shupamen Работа 1 15.12.2013 00:12
проблемы с PagingToolbar serg3091 ExtJS 4 26.06.2013 09:33
Проблемы при установке модулей node.js tadjik1 AJAX и COMET 1 18.03.2012 02:20
Решение проблемы с отображением элементов на странице mozyr Javascript под браузер 17 13.01.2012 02:34
глюк форума Gvozd Сайт Javascript.ru 11 18.03.2009 14:37