首页 > vue要重新渲染一个组件怎么办?

vue要重新渲染一个组件怎么办?

比如有一个组件

<modal id='xxx'>...</modal>

现在我希望这个modal重新渲染
也就是dom重新构建(为了让这个组件重置)
这个应该怎么做呢


指令 指令 指令


v-if,在切换时元素及它的数据绑定 / 组件被销毁并重建


一般情况下vue推崇的是数据驱动 也是数据更新进而使组件得以重新渲染。

如果题主一定要自己控制dom重新渲染,可以定义成指令 然后再update时候 自己去操作dom 这样应该是一种解决方法。
自定义指令


我只能说预期hack进去重新渲染,不如按照规范重新设计数据流。


我有一个不成熟的方案,就是v-if有起到重新渲染的效果,必要的时候可以结合nextTick hook试试。
我之前也有遇到过这个问题,但是这个我那个组件本身提供了重渲染的功能。

譬如说,

<modal id='xxx' v-if="modalShow">...</modal>
<button @click="rerender"></button>

methods:{

rerender: function(){
    this.modalShow = false;
    this.modalShow = true;
}

}

PS..这是一个很不成熟的小建议,同求更成熟的方案哈

【热门文章】
【热门文章】