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

鍍金池/ 問答/HTML/ Vue如何強制刷新V-for列表?

Vue如何強制刷新V-for列表?

<li :class= "isnewList()?'active' : ''" v-for="(list, index) in shoppinglists" :key="list.id"  role="presentation">

methods: {
  test(){
    this.$forceUpdate();//并不管用
  }


想做到addnewList發(fā)生時候把只把newList綁定active class
而清除鼠標點擊其他list的所產(chǎn)生的active

目前是鼠標點擊和newList兩個事件產(chǎn)生兩個active    

clipboard.png

( bootstrap nav組件實現(xiàn)鼠標點擊產(chǎn)生active class)

回答
編輯回答
帥到炸

$forceUpdate() 迫使 Vue 實例重新渲染。注意它僅僅影響實例本身和插入插槽內(nèi)容的子組件,而不是所有子組件。
你可以換一種思路,你在每個li上綁定一個click事件,把index傳入,在方法中把index賦予一個變量中如curr中,然后在li上使用 :class= "index == curr?'active' : ''"
這樣就可以給點擊的li加上class

2017年2月18日 00:56
編輯回答
近義詞

解決方案:使用DOM操作` removeActive () {

    let nav = document.querySelector(".nav").querySelector(".active"); //獲得鼠標active的元素
    let content = document.querySelector(".tab-content").querySelector(".active");//內(nèi)容active
    if(nav!==null)
    nav.className = '';
    if (content!==null)
    content.className = 'tab-pane';
  },`
2018年1月17日 13:28