[英]Cannot assign value to a variable - Javascript
我在循環期間將“ $ scope.returnPollings [i]”的值分配給“ plrtn”時遇到麻煩。 “ $ scope.returnPollings”是帶有數據的對象,當我進行console.log記錄時,我可以確認其中有數據。
db.transaction (function(tx) {
var sql = "INSERT INTO STATUSREPLY (reply, name, userCode, icon, target, repliedDate) VALUES (?, ?, ?, ?, ?, ?)";
var len = $scope.returnPollings.length;
var plrtn;
for (var i = 0; i < len; i++) {
plrtn = $scope.returnPollings[i]; // value is not being assigned here
tx.executeSql(sql, [plrtn.message, plrtn.name, plrtn.userCode, plrtn.qWink, plrtn.target, plrtn.createdDate ],
function(){
$scope.$apply(function(){
$scope.returnFstatus.push({
'message':$scope.ie.message,
'createdDate':$scope.ie.createdDate,
'icon':$scope.ie.qWink,
'target':$scope.ie.target
});
})
console.log('Status Inserted');
},function(tx, error) {
console.log('polling INSERT ERROR: ' + error.message);
});
}
});
如果有人可以幫助我,我會很高興
答案是,您不只一次分配了相同的變量。 我會這樣:
plrtn;//without var
for (var i = 0; i < len; i++) {
delete plrtn;
plrtn = $scope.returnPollings[i]; // value is not being assigned here
查看$scope.returnPollings
的值
var plrtn;
console.log($scope.returnPollings);
for (var i = 0; i < len; i++) {
您會獲得$scope.returnPollings[0]
兩個值
在控制台中,您應該能夠看到以下兩個(長度)值
$scope.returnPollings[0]
和$scope.returnPollings[1]
也
$scope.returnPollings[0].message
$scope.returnPollings[0].name
$scope.returnPollings[0].userCode
$scope.returnPollings[0].q
$scope.returnPollings[1].message
$scope.returnPollings[1].name
$scope.returnPollings[1].userCode
$scope.returnPollings[1].q
在您的SQL中,您不需要使用plrtn
。
相反,您可以使用:
$scope.returnPollings[i].message
$scope.returnPollings[i].name
$scope.returnPollings[i].userCode
$scope.returnPollings[i].q
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.