【发布时间】:2017-09-17 08:09:22
【问题描述】:
所以我试图在选择日历上的日期时显示某些数据(日记条目)(参见图片)
Image of result when a date with journal entry is picked.
所以当一个日期被选中并且数组中有一个日记条目时,它将显示在底部的卡片上。
我的问题:
所以我的问题是,当我有多个条目并且我选择除最后一个输入之外的任何条目时,它们不会显示。但是当我选择最后一个条目时,它显示得很完美。
我的代码:
$scope.journalData = {};
for (var i = 0; i < $scope.entryArray.length; i++) {
if ($scope.entryArray[i].date == $scope.startDate.text) {
$scope.journalData = $scope.entryArray[i];
console.log($scope.journalData);
} else {
$scope.journalData = {};
}
}
<div class="card">
<div class="item item-divider">
{{journalData.date}}
</div>
<div class="item item-text-wrap">
{{journalData.text}}
</div>
</div>
$scope.entryArray 是一个来自本地存储的数组,它保存所有日志条目,如下所示:
var entry = {
date: $scope.startDate.text,
text: $scope.formData.journalEntry
}
如您所见,只要日期与所选日期匹配,我就会控制台日志。假设我今天(4 月 20 日)、明天和后天有 3 个条目。这是输出:
{date: "Thu Apr 20 2017", text: "asdfasdf"}
{date: "Fri Apr 21 2017", text: "asdfasdfasdf"}
{date: "Sat Apr 22 2017", text: "asdfasdfasdf 3"}
并在 3 日更改日期。卡片在屏幕底部显示数据(应该如此)。
谁能帮我弄清楚为什么当我控制台日志时它只显示第三个条目并且它存储在正确的变量中?
【问题讨论】:
-
删除
else块,它应该可以正常工作。 -
好的。超级容易修复....为什么会导致问题???
-
我已经在下面的答案中解释过了。
标签: javascript angularjs ionic-framework angularjs-scope