0
我有一个表单,要求用户查看一些细节,身份证,姓名和姓氏。为此,我在下面的服务中创建了一个人物对象,以保存用户信息。使用AngularJS访问传递给函数的对象值
var personObject = angular.module("personObject", []);
personObject.service("PersonObject", function() {
var Person = {
id: "",
name: "",
surname: ""
};
return {
getPerson: function() {
return Person;
}
};
});
当用户完成表单ID,名和姓值在人设置。这是按预期工作的,我可以在视图控制器中使用get()查看详细信息。
然后我将人员对象传递给另一个服务,它应该将用户详细信息插入到SQLite数据库表中。在我的视图控制器中,我将详细信息保存到我的$ scope.save函数中的数据库。
var formDetails = angular.module("formDetailsController", []);
formDetails.controller("FormDetailsController", function ($scope, UpdatePerson, PersonObject) {
var init = function() {
document.addEventListener("deviceready", onDeviceReady, false);
};
init();
function onDeviceReady() {
};
// Save details to database
$scope.save = function() {
var update = UpdatePerson.update(PersonObject.getPerson()); // Get the person object with user defined values and pass to UpdatePerson service
update.then(
function (success) {
// ToDo
}, function (fail) {
alert(fail.message);
});
};
});
我的updatePerson服务应该插入人对象值的SQLite的表。该表正在按预期工作,并已用一些硬编码值进行了测试。我的更新()函数如下所示(完整的代码给出)。但我无法访问person对象值。
var update = angular.module("updatePerson", []);
update.service("UpdatePerson", function ($q, Database) {
// Initialise variables
var db = Database.init(); // Working
var updated = "";
var myFunctions = {
update: function (MyPerson) {
alert("MyPerson + // Returns [object Object]
"\n" + MyPerson.id + // Returns nothing
"\n" + MyPerson.name + // Returns nothing
"\n" + MyPerson.surname // Returns nothing);
var deferred = $q.defer();
var sql = 'INSERT OR IGNORE INTO tb_person (id, name, surname) VALUES (' + MyPerson.id + ', "' + MyPerson.name + '", "' + MyPerson.surname + '")';
var success = function (tx, results) {
deferred.resolve({ updated: true });
}
var error = function (tx, err) {
deferred.reject({
updated: false, message: 'An error has occured});
}
db.transaction(function (tx) {
tx.executeSql(sql, [], success, error);
});
return deferred.promise;
},
}
return myFunctions;
});
我无法访问我更新我的人对象中的值()功能上面插入到表中。它返回一个空白(不是NULL或未定义) - 只是空白。我如何访问对象值?
请添加完整更新方法。 – alphapilgrim
现在已添加完整的代码片段。 – heyred