将Bootstrap Date Rangeslider转换为Angular材质

时间:2017-05-22 08:40:14

标签: javascript angularjs slider angular-ui-bootstrap angular-material

我在AngularJS中使用bootstrap库构建了一个工作日期范围滑块,但我希望能够将其配置为与Angular Materials一起运行。我尝试使用md-slider但它无法创建范围。我正在使用rz-slider指令来创建指令。这是使用bootstrap的代码的小提琴:

拨弄

https://jsfiddle.net/agamb/954eve2L/1619/

var app = angular.module('rzSliderDemo', ['rzModule', 'ui.bootstrap']);

app.controller('MainCtrl', function ($scope, $rootScope, $timeout, $modal) {
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();
      return '';
    }
  }
};
});

RZ-滑块 https://github.com/angular-slider/angularjs-slider

1 个答案:

答案 0 :(得分:0)

我通过更新库并从依赖项中删除$ timeout和$ modal来修复它,因为它们用于引导程序。 这是更新的小提琴

https://jsfiddle.net/rehan516/m0ygxvdj/

var app = angular.module('rzSliderDemo', ['rzModule', 'ngMaterial','ngAnimate','ngAria']);

app.controller('MainCtrl', function ($scope, $rootScope) {