2017-08-30 65 views

回答

1

在data()中声明的任何东西都是被动的,无论它有多'深'。

如果您稍后改变数组或稍后将属性添加到对象中,您可以中断反应性。我的提示是

  1. 总是替换数组(这很简单)。我们使用_.filter和_.reject很多。
  2. 总是在设置对象时使用this。$ set(object,'property',value)。我让我们的程序员总是使用它,因为这确实可以避免反应性中断问题。

在性能方面,我在页面上构建了一个具有大列表的应用程序(每个对象中总计有10,000个对象,每个对象至少有20个属性)。它一直处理一切都很好。我确实遇到了内存泄漏的一些性能问题,但是我可以通过在beforeDestroy()上将数组设置为[]来解决这些问题。

使用Vue,让所有数据保持被动状态真的更容易。这可以让你用Vue Devtools检查它,更容易依靠它的行为。当数据没有被反应或反应性破坏时,Vue会做出非常时髦的事情。