Вопрос решался написанием своей библиотеки наследования через метод родителя.
Добрый день, уважаемые форумчане.
есть проблемки с отцами и детьми.
вот базовый класс:
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
и так далее...
Итого...что я делаю не так?
![Cray](https://javascript.ru/forum/images/smilies/cray.gif)
Ко всему прочему, посоветуйте, как сделать лучше...провайдеры находятся в разных файлах