如何在VueJS中使用<input type =“date”/>然后使用Date.prototype.getFullYear()?

时间:2018-05-31 17:42:52

标签: vuejs2

我只想让用户输入日期,然后根据日/月/年采取行动。我也不想安装更多依赖项。

我有:

<input type="date" v-model="dateOfBirth" />

const vm = new Vue({
  el: '#app',
  data() {
    return {
      dateOfBirth: null,
    };
  },
  ...

当我做出选择时,我得到:

typeof vm.dateOfBirth === object

,结果如下:

2018-05-11

但是我怎样才能得到日/月/年,.getFullYear()应该去哪里?它没有按照我的预期工作,我已经尝试过在线找到的所有内容,请帮忙!

1 个答案:

答案 0 :(得分:1)

日期输入的值是一个字符串,因此要调用getFullYear,您需要将其转换为日期。

在Vue中,您可以使用计算属性执行此操作。这是一个例子。

&#13;
&#13;
console.clear()

new Vue({
  el: "#app",
  data:{
    dateOfBirth: new Date()
  },
  computed:{
    year(){
      return new Date(this.dateOfBirth).getFullYear()
    }
  }
})
&#13;
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.13/vue.min.js"></script>
<div id="app">
  <input type="date" v-model="dateOfBirth">
  <hr>
  Year: {{year}}
</div>
&#13;
&#13;
&#13;

此代码不处理所有边缘情况,但应该给你一个想法。