Vue disabledDates specific month

by kabanoki

HTML

<script src="https://unpkg.com/vuejs-datepicker"></script>
<div id="app">
 <vuejs-datepicker
    calendar-class="picker" 
    v-model="datepicker1"
    :value="this.default"
    :format="DatePickerFormat"
    :language="language"
    :disabled-dates="disabledDates"
    :maximum-view="'month'"
    :minimum-view="'month'"
    :initial-view="'month'"
    :inline="true"  
    ></vuejs-datepicker>
</div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.6.10/vue.min.js"></script>

CSS

body {
  background: #20262E;
  padding: 20px;
  font-family: Helvetica;
}

#app {
  background: #fff;
  border-radius: 4px;
  padding: 70px;
  transition: all 0.2s;
}

.picker{
  margin:auto;
}

Vue

var disabledMonth = {
  2017:[1,2,3,4,5,6,7,8,9,10,11,12],
  2018: [1,3,5,7,9,11],
  2019: [1,2]
};

new Vue({
  el: '#app',
  components: {
    'vuejs-datepicker':vuejsDatepicker
  },
  data: {
    datepicker1: '2018-10-04',
    default: '2018-10-04',
    DatePickerFormat: 'yyyy-MM-dd',
    language:{
      language: 'Japanese',
      months: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'],
      monthsAbbr: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'],
      days: ['日', '月', '火', '水', '木', '金', '土'],
      rtl: false,
      ymd: 'yyyy-MM-dd',
      yearSuffix: '年'
    },
    disabledDates: {
      customPredictor: function(date) {
         var months = disabledMonth[date.getFullYear()];
         if(months){
           for(var i=0; i<months.length; i++){
              if(months[i] == (date.getMonth()+1)){
                 return true;
              }
           }
        }
      }
    },
  },
});