【发布时间】:2017-11-02 13:48:21
【问题描述】:
假设我们有一些对象数组,这些对象永远不会改变。例如,这可能是从 google maps places api 接收的搜索结果 - 每个结果都是相当复杂的对象,具有 id、title、address、coordinate、photos 和一堆其他属性和方法。
我们想使用 vue/vuex 在地图上显示搜索结果。如果将一些新结果推送到商店,我们希望在地图上绘制它们的标记。如果某些结果被删除,我们要删除它的标记。但在内部,每个结果都不会改变。
有没有办法告诉 vue 跟踪数组(push、splice 等),但不要更深入,也不跟踪它的任何元素的属性?
现在我只能想象一些丑陋的数据拆分 - 将 id 数组保留在 vue 中,并在存储之外有单独的逐个缓存。我正在寻找更优雅的解决方案(如 knockout.js observableArray)。
【问题讨论】:
标签: javascript vue.js vuejs2 vuex