我有一个下拉列表,其中显示日期: -
<label>Date:</label>
<select data-ng-model="date" name="viewDate" data-ng-options="d for d in newDates" data-ng-change="selectDate(date)" required="required">
<option value="">Please Select</option>
</select>
指令代码: -
scope.getDates = function () {
scope.newDates = [];
ApiServices.getAllDates().then(
function (response) {
scope.dates = response.data;
scope.dates.forEach(function (entry,index) {
entry = moment(entry).format('YYYY-MM-DD');
scope.newDates.push(entry);
});
if (scope.dates.length) {
scope.noRecords = false;
} else {
scope.noRecords = true;
}
},
function (err) {
// Handle error here
console.log('Error' + JSON.stringify(err.data));
});
};
随着日期即将来临,我试图以人类可读的形式转换它。但是每个条目的值都显示重复。我认为我为转换epoch ino字符串而编写的代码是错误的。任何人都可以告诉我我的错误。
答案 0 :(得分:2)
这是我尝试过的解决方案及其工作方式。现在没有重复的值。
scope.getDates = function () {
scope.newDates = new Set();
ApiServices.getAllDates().then(
function (response) {
scope.dates = response.data;
scope.dates.forEach(function (entry,index) {
scope.newDates = scope.dates.map(function(entry){
entry = moment(entry).format('YYYY-MM-DD');
return entry;
});
});
if (scope.dates.length) {
scope.noRecords = false;
} else {
scope.noRecords = true;
}
},
function (err) {
// Handle error here
console.log('Error' + JSON.stringify(err.data));
});
};
答案 1 :(得分:1)
如果您不想要重复的值,则可以创建一个集合而不是列表。
scope.getDates = function () {
scope.newDates = new Set();
ApiServices.getAllDates().then(
function (response) {
scope.dates = response.data;
scope.dates.forEach(function (entry,index) {
entry = moment(entry, 'YYYY-MM-DD').format();
scope.newDates.add(entry);
});
if (scope.dates.length) {
scope.noRecords = false;
} else {
scope.noRecords = true;
}
},
function (err) {
// Handle error here
console.log('Error' + JSON.stringify(err.data));
});
};
答案 2 :(得分:0)
scope.getDates = function () {
$scope.humanizedDates = [];
ApiServices.getAllDates().then(
function (response) {
if (response.data.length) {
$scope.humanizedDates = response.data.map(function(date){
return moment(date).format('YYYY-MM-DD');
});
scope.noRecords = false;
} else {
scope.noRecords = true;
}
},
function (err) {
// Handle error here
console.log('Error' + JSON.stringify(err.data));
});
};