我有一个带有json数据的Leave List表。
var app=angular.module('myApp',[])
app.controller('myController', ['$scope', '$http', function ($scope, $http) {
$scope.init = function () {
$scope.holidayList=[
{
'month':'JAN',
'date':01,
'day': 'Mon',
'occasion':'New Year'
},
{
'month':'FEB',
'date': 03,
'day': 'Fri',
'occasion':'Maha Shivaratri'
}
];
}
}])
https://jsfiddle.net/856fysen/2/
这里我需要在一个月内显示多个叶子,因为我已经像这样改变了我的json
$scope.holidayList=[
{
'month':'JAN',
'date':[01,07,20],
'day': ['Mon','Fri','Sun'],
'occasion':['New Year','pongal','bhogi']
},
{
'month':'FEB',
'date': 03,
'day': 'Fri',
'occasion':'Maha Shivaratri'
}
];
这是对的吗?
答案 0 :(得分:1)
我建议你使用以下格式,它会更方便。
[{
'month': 'JAN',
'Leaves': [{
'date': '2017-11-05T08:22:06.750Z',
'day': 'Mon',
'occassion': 'some_occasion'
},{
'date': '2017-11-05T08:22:06.750Z',
'day': 'Mon',
'occasion': 'some_occasion'
}
]
},{
'month': 'FEB',
'Leaves': [{
'date': '2017-11-05T08:22:06.750Z',
'day': 'Mon',
'occasion': 'some_occasion'
}, {
'date': '2017-11-05T08:22:06.750Z',
'day': 'Mon',
'occasion': 'some_occasion'
}
}]
您还可以在日期字段中使用时间戳,并编写一个过滤器来分隔日期和时间。在这种情况下,始终建议使用时间戳。
答案 1 :(得分:1)
你的方法是核心。
但请注意,该模型必须独立于实现,并且是保持其清洁和易于阅读的良好实践。
以下是我的建议:
1)不要将模型直接添加到范围。给它自己的变量,以便你可以更容易地参考它。
2)不要将日期分成日期/月份。即使它们是递归事件,您也可以在现有的固定日期中添加年份以查找星期几。您可以稍后设置日期格式:How to format date in angularjs
'd'
:每月(1-31)
'EEE'
:星期几,(周日至周六)
3)避免使用会使代码复杂化的并行数组:
'date':[01, 07, 20],
'day': ['Mon','Fri','Sun']
4)不要在模型级别中包含演示说明。该视图负责将数据组织到各个级别。
这是我的方法:
var holidayList=[
{
date: ['01-01-2016', '02-01-2016'],
event: 'New Year'
},
date: ['13-01-2016', '14-01-2016'],
month: 'Bhogi'
},
{
date: ['14-01-2016', '17-01-2016'],
event: 'Thai Pongal'
},
{
date: ['13-02-2016', '14-02-2016'],
event: 'Maha Shivaratri'
}
];
$scope.holidayList = holidayList;
答案 2 :(得分:0)
是的,它是正确的并且格式正确。