Я начинаю с phonegap, а также пытаюсь применить с ним JavaScript OOP.Но проблема в вызовах методов и прочем.представьте себе это:У меня есть основной контроллер в JavaScript, этот файл пытается контролировать большую часть рабочего процесса между сетевыми вызовами, базы данных и представления изменений.Это мой main.js.
var onlineStatus = false;
var mainModel;
var connectTo = "http://192.168.1.65/mobile/service/";
document.addEventListener("deviceready", onDeviceReady, false);
document.addEventListener("online", online, false);
document.addEventListener("offLine", offline, false);
function whenOnline() {
setOnline(true);
}
function whenOffline() {
setOnline(false);
}
function onDeviceReady() {
mainModel = new MainModel();
mainModel.openDatabase();
mainModel.startApplication();
}
, а mainModel это:
function MainModel() {
this.isOnline = false;
this.database = null;
this.login = null;
this.getDatabase = function() {
return this.database;
};
this.openDatabase = function() {
this.login = new LoginModel();
this.database = window.openDatabase("wayacross", "0.2", "Test DB", 1000000);
};
this.startApplication = function() {
this.database.transaction(this.login.checkLogin, goLoggin);
};
}
И модель входа:
function LoginModel() {
this.loginError = function() {
navigator.notification.alert('Login Error', // message
null, // callback
'Login', // title
'Done' // buttonName
);
goLogin();
};
this.isLogged = function(tx, results) {
//ajax code
};
this.checkLogin = function(tx) {
alert('checkLogin: Variable TX = '+ tx);
tx.executeSql('SELECT * FROM login', [], this.isLogged, this.loginError);
};
}
Это код, который яв данный момент контролировать начало рабочего процесса.Проблема в том, что когда я вызываю mainModel.js this.database.transaction (this.login.checkLogin, goLoggin); это ничего не даст.Когда я меняю this.login.checkLogin на this.login.checkLogin (), он работает, но переменная tx становится неопределенной.
Возможно, я здесь что-то не так делаю, но не знаю почему.Может быть, ООП JavaScript не поддерживается с помощью телефонной пропасти, но я в это не верю.
Можете ли вы помочь?
Заранее спасибо,Elkas