【发布时间】:2015-06-14 02:56:48
【问题描述】:
所以我有这段代码来更新一个人留在本地存储中的日期和时间
$scope.visitorout = function(){
var dateout1 = new Date();
var signout = JSON.parse(localStorage["allVisitors"]);
for(var i=0;i<signout.length;i++)
if (signout[i].id===signout[i].id) signout[i].dateout = dateout1;
localStorage["allVisitors"] = JSON.stringify(signout);
};
但是每当我调用该函数时,它都会更改本地存储中每一件事的 dateout 的所有值,但我只希望它只更改一个
我已将代码修改为:
$scope.visitorOut = function(id){
var allVisitors = JSON.parse(localStorage["allVisitors"]);
var visitor;
for(var i=0; i<allVisitors.length; i++){
visitor = allVisitors[i];
if (allVisitors[i].id === visitor.id) {
visitor.dateout = new Date();
console.log(visitor.id)
break;
}
}
localStorage["allVisitors"] = JSON.stringify(allVisitors);
};
它会更新“dateout”,但只是针对 localstorage 中的相同项目,并且 console.log 每次都显示相同的 id...
<div class="list">
<a class="item item-icon-left item-icon-right" ng-repeat="visit in visits | orderBy: '-date'" ng-click="visitorOut(id); closesignout()" ng-hide="visit.hide">
<i class="icon ion-person"></i>
{{visit.fname}} {{visit.lname}}
<i class="icon ion-log-out" ng-click="hideMe(visit)"></i>
【问题讨论】:
-
此代码中没有任何内容表明您要更新哪个访问者的
signout。 -
好的,我明白你的意思了。每个访问者都有一个唯一的 ID,它是由“Math.random”生成的随机数,如果我想记录访问者在点击他们的名字时离开的日期,我将如何修改代码?谢谢
-
既然我知道你想要做什么,我会作为答案回复。