Vue.js数组的非反应对象

时间:2018-02-02 13:07:52

标签: javascript vue.js vuejs2

我有一个问题。我有

data: {
        tracks: []
    }

track数组将包含一个复杂的对象。并且当我为跟踪嵌套对象分配新值时变为反应性。但我不需要深层反应对象。如果没有创建函数或JSON.parse,我怎么能这样做?

因为轨道与Cesium框架一起使用并使用Vue getter。 FPS变为10-15。没有Vue有50-60 FPS

2 个答案:

答案 0 :(得分:0)

您可以在曲目上实现深度观察:

watch: {
  tracks: {
    handler (newVal, oldVal) {
      // implement what you want to do here
      // If you just wanted to force a re-render you can do:
      this.$forceUpdate()
    }
    deep: true,
}

答案 1 :(得分:0)

使用Object.freezeObject.defineProperty(您只需要可配置:false)以防止Vue在大型数据集上获取反应性

https://forum.vuejs.org/t/cesium-and-vue-js-data-getters/26928