一个个写的时候,v-if + this 可以:
<van-action-sheet v-model="show" title="请选择上市进程" :actions="actions" @select="onSelect" >
<div class="sb" @click="change" :class="selecked?'fontcolor':''">尚未改制<van-icon v-if="this.selecked" name="success" class="checked-icon" color="#3271E3"/></div>
<div class="sb" @click="change" :class="selecked?'fontcolor':''">改制进程中<van-icon v-if="this.selecked" name="success" class="checked-icon" color="#3271E3"/></div>
<div class="sb" @click="change" :class="selecked?'fontcolor':''">已进入辅导期<van-icon v-if="this.selecked" name="success" class="checked-icon" color="#3271E3"/></div>
<div class="sb" @click="change" :class="selecked?'fontcolor':''">材料已报证监会<van-icon v-if="this.selecked" name="success" class="checked-icon" color="#3271E3"/></div>
</van-action-sheet>
报错:
v-for 情况下,v-if + this 不行
<div class="sb" @click="change" :class="selecked?'fontcolor':''" v-for="item in titles" :key="item">{{item}}<van-icon v-if="this.selecked" name="success" class="checked-icon" color="#3271E3"/></div>
以上两种情况下,selected都定义了(没错,都定义了,所以不能看第2种情况错误原因) ,不信看下面
定义:
data(){
return{
username: '',
isbgcolor: true,
isSelected: false,
show: false,
selecked: false,
titles: ['cc','vv','bb'],
}
},
<div class="sb" @click="change" :class="selecked?'fontcolor':''" v-for="item in titles" :key="item">{{item}}<van-icon v-if="selecked" name="success" class="checked-icon" color="#3271E3"/></div>
去掉 this. 就可以了