Im在将我的Ionic/Angular项目中的嵌套数据推送到值时遇到问题。我想为每一天的时间添加一个布尔值(如果它有一个),我的json看起来像这样(我通过严格的http调用检索json,所以它的树结构不能改变)。在AngularJS中推送值和访问嵌套的JSON
{
"all_year": true,
"season_from": "01/01",
"season_to": "12/31",
"monday": [
"08:30am"
],
"tuesday": [
"08:30am"
],
"wednesday": [
"08:00am", "09:30am", "01:30pm"
],
"thursday": [
"08:30am", "09:30am"
],
"friday": [
"08:30am"
],
"saturday": [],
"sunday": []
}
我的HTML
<ion-list ng-repeat="(key, value) in filteredDays"
ng-model="value.checked"
ng-checked ="value.checked">
<div class="item item-divider">
<h3>{{key}}</h3><!--{{value}}--></div>
<ion-toggle ng-repeat="x in value"
ng-model="value"
ng-checked="x"
>
{{x}}
</ion-toggle>
我的js
$scope.filteredDays={};
$scope.unFilteredDays = {
"all_year": true,
"season_from": "01/01",
"season_to": "12/31",
"monday": [
"08:30am"
],
"tuesday": [
"08:30am"
],
"wednesday": [
"08:00am", "09:30am", "01:30pm"
],
"thursday": [
"08:30am", "09:30am"
],
"friday": [
"08:30am"
],
"saturday": [],
"sunday": []
};
$scope.filteredDays = $scope.unFilteredDays;
//THIS IS WHERE IM STUCK
/*
var checked = false;
$scope.filteredDays.forEach($scope.filteredDays, function(value, key) {
$scope.filteredDays.push(checked);
});
*/
我留下了我被卡住的地方的评论,我似乎无法弄清楚如何将布尔推送到时间切换项目数组。我设置了一个codepen here
此外,我已经尝试在这个项目中处理lodash来处理数据(并从列表中获取“all_year”,“season_from”,“season_to”值),并相信我已设置但是,我对它太缺乏经验,无法按照自己的意愿去做。
任何帮助,将不胜感激。
只是要一天名称的数组,并检查键名反对。如果它在日期名称数组中,则添加布尔值。你可以使用_.contains或普通的旧indexOf来检查密钥 – vbranden
你认为你可以做出另一个答案,并告诉我如何完成,我仍然搞清楚lodash @vbranden – garrettmac