Angular を使用し、オフライン ストレージに ydn-db を使用してオフライン HTML ページを作成しています。
私はそのようなデータベースサービスを持っています、
demoApp.SericeFactory.database = function database() {
var database = {
dataStore: null,
admins: [],
students: [],
errors: [],
getadmindata: function(username) {
self = null, that = this
database.dataStore.get('admins', username).done(function(record) {
that.self = record;
return record;
}).fail(function(e) {
console.log(e);
database.errors.push(e);
});
return self; //This does not change.
}
};
database.dataStore = new ydn.db.Storage('DemoApp');
angular.forEach(INITSTUDENTS, function(student) {
database.dataStore.put('students', student, student.matricno);
database.students.push(student);
});
angular.forEach(INITADMINS, function(admin) {
database.dataStore.put('admins', admin, admin.username);
database.admins.push(admin);
});
return database;
データベースを使用しようとするコントローラーもあります。
function AppCntl ($scope, database) {
var user = database.getadmindata('user'); //I get nothing here.
}
私が試したこと、私はに変更しようとしself
ましたvar self
私はそのように機能を分割しようとしました
rq = database.dataStore.get('admins', 'user');
rq.done(function(record), {
self = record;
alert(self.name) //Works.
});
alert(self) //Doesn't work.
私はこの o StackOverflow のような質問をしましたが、何も機能していないように見えるか、間違った場所を探していたのかもしれません。