Возвращает выходные данные из ползунка углового диапазона дат в двух разных переменных
Я создал ползунок диапазона дат с использованием материалов AngularJS и Angular, но в настоящее время я могу вернуть минимальное и максимальное значение диапазона дат как одну переменную, однако я хочу сохранить и вернуть эти значения через две отдельные переменные, которые будут использоваться в запрос POST позже.
например
вар: 2016-01-01T00:00:00
вар b: 2018-01-01T00:00:00
Вот рабочая скрипка для текущего кода.
https://jsfiddle.net/rehan516/m0ygxvdj/
HTML
<script src="https://rawgit.com/rzajac/angularjs-slider/master/dist/rzslider.js"></script>
<div ng-app="rzSliderDemo">
<div ng-controller="MainCtrl" class="wrapper">
<article>
{{slider.minValue}}
{{slider.maxValue}}
<rzslider rz-slider-model="slider.minValue"
rz-slider-high="slider.maxValue"
rz-slider-options="slider.options"></rzslider>
</article>
</div>
</div>
JS
var app = angular.module('rzSliderDemo', ['rzModule', 'ngMaterial','ngAnimate','ngAria']);
app.controller('MainCtrl', function ($scope, $rootScope) {
var date1 = new Date(2017, 3, 1);
var date2 = new Date();
var day;
var dateArray = [date1];
while(date1 <= date2) {
day = date1.getDate()
date1 = new Date(date1.setDate(++day));
dateArray.push(date1);
}
$scope.slider = {
minValue: dateArray[0],
maxValue: dateArray[dateArray.length-1],
value: dateArray[0], // or new Date(2016, 7, 10) is you want to use different instances
options: {
stepsArray: dateArray,
translate: function(date) {
if (date != null)
return date.toISOString();//returning date range
return '';
}
}
};
});
ПОСТ-ЗАПРОС
{
"query": {
"bool": {
"must": [
{
"range": {
"metadata.o2r.temporal.begin": {
"from": "2016-01-01T12:35:41.142Z"
}
}
} ,
{
"range": {
"metadata.o2r.temporal.end": {
"to": "2016-12-30T22:00:00.000Z"
}
}
}
]
}
}
}
'
1 ответ
Решение
Предложения в комментариях работали нормально. Вот так я обновил раздел $scope.slider в моем файле JS.
$scope.slider = {
minValue: dateArray[0],
maxValue: dateArray[dateArray.length-1],
value: dateArray[0], // or new Date(2016, 7, 10) is you want to use different instances
options: {
stepsArray: dateArray,
translate: function(date) {
if (date != null)
lower =$scope.slider.minValue;
upper =$scope.slider.maxValue;
return date.toISOString();
}
}
};
я добавил две новые переменные, а затем передал их POST
запрос.