在销毁调用之前清空数组

时间:2018-12-08 16:56:15

标签: javascript vuejs2

我使用以下语法在模板上显示一个数组:

{{ numbers }}

在调用destroy方法之前,如何重新渲染清空的数组?

destroy () {
    this.numbers = []
    this.$destroy()
}

这将清空数组(控制台中的app.numbers = []),但不会刷新{{ numbers }}

就像我将代码放在“ beforeDestroy”钩子中一样:

beforeDestroy () {
        this.numbers = []
}

如何在销毁之前正确地重新渲染{{ numbers }}数组?

不使用setTimeout。因为这当然有效:

destroy () {
    this.numbers = []
    setTimeout(()=>this.$destroy(), 1000)
}

1 个答案:

答案 0 :(得分:0)

可以在数据更改后使用$ nextTick方法更新实际DOM:

destroy () {
    this.numbers = []              
    this.$nextTick(()=>this.$destroy())
}

用户(看不到用户名)找到了正确答案,但此后将其删除。如果您是用户,我将删除我的答案,以便您可以回答并获得功劳。