2017-08-30 63 views

回答

1

在data()中聲明的任何東西都是被動的,無論它有多'深'。

如果您稍後改變數組或稍後將屬性添加到對象中,您可以中斷反應性。我的提示是

  1. 總是替換數組(這很簡單)。我們使用_.filter和_.reject很多。
  2. 總是在設置對象時使用this。$ set(object,'property',value)。我讓我們的程序員總是使用它,因爲這確實可以避免反應性中斷問題。

在性能方面,我在頁面上構建了一個具有大列表的應用程序(每個對象中總計有10,000個對象,每個對象至少有20個屬性)。它一直處理一切都很好。我確實遇到了內存泄漏的一些性能問題,但是我可以通過在beforeDestroy()上將數組設置爲[]來解決這些問題。

使用Vue,讓所有數據保持被動狀態真的更容易。這可以讓你用Vue Devtools檢查它,更容易依靠它的行爲。當數據沒有被反應或反應性破壞時,Vue會做出非常時髦的事情。