У меня есть старый класс mootools, который я использую, который имеет много функций. Вместо расширения класса я пытаюсь просто вызвать один из методов класса вне класса. Так что, если класс выглядел примерно так:Вызов метода класса mootools из другой внешней функции
var myClass = new Class({
search: function(){
this.searchSpinner.show();
this.request.send({data: this.data});
},
// many other functions
})
Мне нужно вызвать search
метод из другого сценария, загруженного на той же странице.
Сейчас я пытаюсь так:
window.myClass.search();
Но это приводит к большой волосатой ошибке, что я не могу понять, но который выглядит следующим образом:
Uncaught TypeError: Object function(){e(this);if(g.$prototyping){return this;}this.$caller=null;var i=(this.initialize)?this.initialize.apply(this,arguments):this;this.$caller=this.caller=null;
return i;} has no method 'search'
Есть «правильный» способ вызова этого метода?
Если я что-то пропустил, я уверен, что @ dimitar-christoff будет рано или поздно с дополнительной информацией :) –
Привет, Джулиан, да, Димитар - человек с mootools! Итак, вы говорите внутри моего «вызывающего» сценария, мне нужно создать новый экземпляр класса myClass, а затем выполнить поиск против него? Я сделаю это. Спасибо – user101289
+1 согласился. вы создаете прототип конструктора объекта - вам нужно создать экземпляр, чтобы использовать его. –