Vue 计算属性的运用 请教


一个类excel 的 table 表格,
一个单元格,     为 另几个单元格的 运算结果

现在问题是,
第一次运算,我可以设置失去焦点,来 运算或 校验  结果单元格的  value
同时, 另几个单元格更改时,  运算结果的 单元格 的 value 应该要同步更新才是    
   
这里有个问题. watch 整个数据对象改变,可以达到这个目的.
但是,这个数据对象 太多了.还有其它各种样式位置信息,
其它无关信息改变,全部遍历运算一次,好象有点low
 这种方式应该是不合理的
请教合理的方法. 

// 失去焦点,进行格式校验 或 函数运算
function inputBlurCheck(cell: TableCell) {
  // 当如第一个字符 不为 '= '号 格式校验
  if(cell.attr.proto.charAt(0)!=='='){
    cellBlurCheck(cell.attr)
  } else{ // 当如第一个字符 为 '= '号 ,进行函数运算
    console.log('是函数')
    cell.attr.value = cumputCell(cell.attr.proto,tableJson.value.body)
  }
}

不理解为什么要通过 blur 来触发更新,直接 computed 不行吗?
或者render函数返回对应的计算方式。

可以另外新建个对象,将需要计算的单元格信息提取出来放到这新对象中,当某个单元格修改了更新原来的数据,同时更新这个对象,通过监控新对象来实现修改原来的数据,这样减少遍历的数据大小。

可以试试找出他的相关性,改变对应的数据就好,不用全遍历。具体的要看类表格功能吧。只这么点看不出什么来

给表格单元格增加index(横轴纵轴),以此快速跟踪发生改变的地方

提取需要计算的对象,与得到的数据进行对比,监听数据的变化,