Vue中有一個非常重要的概念,就是computed對象。computed對象是一個計算屬性,它是由data對象中的屬性計算而來。computed對象的值通過對data對象的屬性進行計算,得出結(jié)果后進行緩存,避免重復計算,以提高性能。
computed: { fullName: function () { return this.firstName + ' ' + this.lastName } }
通過上述代碼,我們可以看出computed對象的本質(zhì)就是一個函數(shù)。在計算屬性的get函數(shù)里返回了我們需要的結(jié)果。這里的fullName就是我們新計算的一個屬性。在這個屬性中,我們將this.firstName和this.lastName拼接成了一個完整的名字。
在使用computed對象的時候,我們需要注意一些細節(jié)問題。首先,computed對象必須是一個對象,并且屬性值必須是一個函數(shù)。其次,computed對象中的屬性會被緩存,只有在相關(guān)依賴發(fā)生改變時才會重新計算。最后,computed對象中的屬性是只讀屬性,我們不能通過computed對象來修改data對象中的值。
computed: { // 錯誤示范 fullName: function () { this.firstName = 'Bob'; return this.firstName + ' ' + this.lastName; } }
總結(jié)來說,computed對象是一個非常強大的工具,它可以大大簡化我們的代碼,提高我們的開發(fā)效率,同時在性能上也有很大的提升。但是,在使用computed對象的時候,我們需要注意一些細節(jié)問題,以避免潛在的問題。