質問編集履歴
1
v-modelをdateに合わせる、初期値を受け皿の変数date…に代入するというコメントに基づき修正しました。しかし、初期値の表示、月末の日にち計算はできませんでした。
test
CHANGED
File without changes
|
test
CHANGED
@@ -462,6 +462,80 @@
|
|
462
462
|
|
463
463
|
|
464
464
|
|
465
|
+
追記1
|
466
|
+
|
467
|
+
v-modelをdateに合わせる、初期値を受け皿の変数date…に代入する
|
468
|
+
|
469
|
+
というコメントをいただきました。コメントに基づき、以下のように修正しました。
|
470
|
+
|
471
|
+
|
472
|
+
|
473
|
+
```HTML
|
474
|
+
|
475
|
+
<form>
|
476
|
+
|
477
|
+
<select v-model="date" @change="getDays"><!--dataYear → dateに変更-->
|
478
|
+
|
479
|
+
<option v-for="n in 100" v-bind:value="n + 1921" v-bind:key="n">{{(n + 1921) | era}}</option>
|
480
|
+
|
481
|
+
</select>年
|
482
|
+
|
483
|
+
<select v-model="date" @change="getDays"><!--dataMonth → dateに変更-->
|
484
|
+
|
485
|
+
<option v-for="n in 12" v-bind:key="n">{{n}}</option>
|
486
|
+
|
487
|
+
</select>月
|
488
|
+
|
489
|
+
<select v-model="date" @change="getDays"><!--dataDay → dateに変更-->
|
490
|
+
|
491
|
+
<option v-for="n in daysMax" v-bind:key="n">{{n}}</option>
|
492
|
+
|
493
|
+
</select>日
|
494
|
+
|
495
|
+
</form>
|
496
|
+
|
497
|
+
```
|
498
|
+
|
499
|
+
|
500
|
+
|
501
|
+
```javascript
|
502
|
+
|
503
|
+
data() {
|
504
|
+
|
505
|
+
return {
|
506
|
+
|
507
|
+
date: moment("2000-01-01").toDate(),//dataYear,dataMonth,dataDayから変更
|
508
|
+
|
509
|
+
daysMax: ''
|
510
|
+
|
511
|
+
}
|
512
|
+
|
513
|
+
//(中略)
|
514
|
+
|
515
|
+
methods: {
|
516
|
+
|
517
|
+
getDays: function() {//合わせてdataYear → date.getFullYear(), dataMonth → date.getMonth()にそれぞれ変更
|
518
|
+
|
519
|
+
new Date(this.date.getFullYear(), this.date.getMonth(), 0).getDate();
|
520
|
+
|
521
|
+
}
|
522
|
+
|
523
|
+
}
|
524
|
+
|
525
|
+
```
|
526
|
+
|
527
|
+
しかし、初期値の表示、月末の日にち計算はできませんでした。エラー内容は以下の通りです。
|
528
|
+
|
529
|
+
```
|
530
|
+
|
531
|
+
v-on handler: "TypeError: this.date.getFullYear is not a function"
|
532
|
+
|
533
|
+
```
|
534
|
+
|
535
|
+
getFullYearとgetMonthを使用するにあたり、moment("2000-01-01").toDate()でdateをdateObjに合わせたので、問題ないように思うのですが...
|
536
|
+
|
537
|
+
|
538
|
+
|
465
539
|
### 補足情報(FW/ツールのバージョンなど)
|
466
540
|
|
467
541
|
|