Проблемы с прототипированием
Вопрос решался написанием своей библиотеки наследования через метод родителя.
Добрый день, уважаемые форумчане.:help: есть проблемки с отцами и детьми.:write: вот базовый класс: 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 - не является функцией:haha: Cannot set property 'constructor' of undefined:blink: и так далее... Итого...что я делаю не так?:cray: Ко всему прочему, посоветуйте, как сделать лучше...провайдеры находятся в разных файлах |
Часовой пояс GMT +3, время: 10:19. |