Closed hasyrails closed 4 years ago
v-ifで簡易的に切り替えテストする
表示⇄非表示の2状態の切り替えではなく、 3種類の状態を切り替えたい v-if,v-else-if,v-elseを使って条件分岐しよう - Vue.jsで条件分岐する方法
<div>
<p v-if="count===1||count===4"><font-awesome-icon icon="coffee" size="10x" /></p>
<p v-else-if="count===2||count===5"><font-awesome-icon icon="bath" size="10x" /></p>
<p v-else-if="count===3||count===6"><font-awesome-icon icon="birthday-cake" size="10x"/></p>
<p v-else>Nothing</p>
</div>
<div>
<button v-on:click="count++">You clicked me {{ count }} times.</button>
</div>
<script>
data() {
return {
count: 0,
}
</script>
切り替えの条件の組み方 → 配列を作成, v-forを使う クリックするたびに配列の要素を移動して選択することができるようにする
<div>
<p v-if="count===1"><font-awesome-icon icon="coffee" size="10x" /></p>
<p v-else-if="count===2"><font-awesome-icon icon="bath" size="10x" /></p>
<p v-else-if="count===3"><font-awesome-icon icon="birthday-cake" size="10x"/></p>
<p v-else>Nothing</p>
</div>
<div>
<button v-on:click="countChange">You clicked me {{ count }} times.</button>
</div>
<script>
methods: {
countChange(){
if(this.count < 3){
this.count ++
}else{
this.count = 0
}
},
</script>
これをカレンダー内のタスクのアイコンに実装する
タスク3
ネストの配列定義が必要か
iconChange()
メソッドを
schedules[0]限定で発火するようにしている
methods: {
iconChange(){
if(this.schedules[0].icon < 3){
this.schedules[0].icon ++;
}else{
this.schedules[0].icon = 0
}
},
クリックしたタスクのみに発火するようにしたい
methods: {
iconChange(){
switch(this.schedules[0].icon){
case 0:
this.schedules[0].icon = 1
this.createDevidedSchedules();
location.reload();
this.schedules[0].icon = 1; // 反映されない
break;
case 1:
this.schedules[0].icon = 2
this.createDevidedSchedules();
location.reload();
this.schedules[0].icon = 2; // 反映されない
break;
case 2:
this.schedules[0].icon = 3
this.createDevidedSchedules();
location.reload();
this.schedules[0].icon = 3; // 反映されない
break;
case 3:
this.schedules[0].icon = 0
this.createDevidedSchedules();
location.reload();
this.schedules[0].icon = 0; // 反映されない
break;
}
},
created()フックの時の リロードで反映されない
schedules / devidedSchedules の変更が 初期値の固定で動かないことが原因。
いったん保留とする
まず、基本的なv-ifによるクリックでの表示切り替えを 簡単なもので試す → devidedScheduleの状態に合わせてアイコン切り替えができるようにする