在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/HTML/ vue addClass問(wèn)題?

vue addClass問(wèn)題?

我在代碼里這樣設(shè)計(jì):
<span v-bind:class="{check:isCheck}" class="fa fa-check-circle normal">?</span>
當(dāng)我點(diǎn)擊某個(gè)按鈕時(shí),將isCheck設(shè)有true
this.isCheck = true
并且給span再增加一個(gè)class check-icon
d.classList.add('check-icon') //d為span

這兩句代碼在同一個(gè)函數(shù)內(nèi),但是最后我只添加了check一個(gè)class,為什么?
如果我d.classList.add('check-icon') 單獨(dú)執(zhí)行則可以添加。

回答
編輯回答
貓小柒

數(shù)據(jù)驅(qū)動(dòng)更新的時(shí)候,整個(gè)dom是重新渲染的,相當(dāng)于你js添加類名之后,vue又重新創(chuàng)建了一遍dom,把原來(lái)的覆蓋掉了。
class可以綁定多個(gè)值的啊,為社么要操作dom。、


<li 
 @click="addIcon(item)" 
 v-for="(item, index) in list" :key="index" 
 :class="[true ?'big': 'small', item.class]"> //用這種方式綁定,可以控制
  {{item.name}}
</li>
list: [
    { name: 1 },
    { name: 2 },
    { name: 3 },
    { name: 4 }
]
addIcon (item) {
  this.$set(item, 'class', 'red') // list中沒(méi)有class屬性,所以需要借助$set動(dòng)態(tài)添加才能響應(yīng)
}
2017年9月12日 04:52