仅当数据是新的(与现有数据不同)时才更新Vuex

时间:2019-05-24 17:35:09

标签: javascript vue.js vuejs2 vue-component vuex

我在应用程序中使用vuex store存储来自feed的新闻项目。想法是,如果用户将导航到其他页面并返回到提要页面,则商店中的帖子应该可见,并且加载新数据应该在后台进行。

这很好,但是在后台加载数据时会出现问题。发生这种情况时,每个单个的post组件都会重新加载并重新安装,这会导致非常糟糕的用户体验(因为news组件很繁杂)。

我要实现的是仅在数据为新数据或不同数据时才重新渲染组件。现在,每个新闻组件每次都会重新渲染,无论数据是新的还是相同的都没有关系。

我通过以下方式将数据保存在Vuex中:

this.insertOrUpdate({data})

在组件中进行计算:

    news () {
      return News.query().all()
    }

并将其用于组件:

  <my-news v-for="item in news"
            :key="item.id"
            :news="item" />

不知道在数据不变时如何防止重新呈现那些组件。甚至有可能吗?

0 个答案:

没有答案