Помогите разобраться пожалуйста. Открываю то что есть.
файл index.html
<script>
var SWDataSource = null;//Источник данных
var SwDataClient = null;//Потребитель данных
window.onload = function() {
console.log('Документ и все ресурсы загружены');//!! и это сообщение я получаю!
//создаю объект Источник данных
SWDataSource = new TSwitchDataSource();
//создаю объект Потребитель данных
SwDataClient = new TSwitchClient();
SwDataClient.draw();//так и есть вызывается draw, вижу его вывод в консоли
//прикреплю его к источнику данных
SWDataSource.addSubscriber(SwDataClient.subcribe);//
//в которой происходит this.subcribers.push(func);
};
потом в Источнике данных идёт вызов
TSwitchDataSource.prototype.sendStageToSubscribers = function () {
....................
this.subcribers[i](this.stage);//
Тут и теряется контекст. в итоге функция subcribe выполняется (так как она запихнута в массив вызовов)
но когда в ней доходит до вызова
this.draw; то так как корректного контекста this нет, и возникает ошибка.
Значит надо как-то передать контекст.
Как это сделать?