色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

vue數據如何computed

吉茹定1年前8瀏覽0評論

Computed是Vue.js中用于監聽數據變化并自動計算新值的屬性。它可以將多個響應式依賴組合在一起,得到一個復雜的邏輯計算結果。在實際開發中,我們可以通過computed屬性輕松實現常用的計算方式,例如數據過濾、格式化、排序等。下面我們來詳細了解一下Vue中的computed。

首先,computed屬性是Vue.js中的一個計算屬性,它是Vue實例中的一個對象,用于聲明計算屬性的依賴和計算方法。computed屬性中的數據依賴必須是響應式的數據才能被自動監聽,如果不是響應式的數據,那么computed屬性就不會自動更新。除此之外,computed屬性也可以接受其他計算屬性作為依賴,再次進行計算,實現組合計算的需求。

computed: {
fullName: function () {
return this.firstName + ' ' + this.lastName
},
reversedFullName: function () {
return this.fullName.split(' ').reverse().join(' ')
}
}

上述代碼中,fullName和reversedFullName都是computed屬性,其中reversedFullName的計算依賴于fullName計算得到的結果。當firstName或lastName的值發生改變時,Vue會自動更新fullName和reversedFullName計算得到的新值,從而更新頁面上的數據。

除了通過計算屬性的依賴關系,computed屬性還有緩存機制。這意味著計算屬性的值只要沒發生改變,就不會重新計算,而是直接返回緩存結果。這樣可以提高計算效率,避免不必要的計算。

在computed屬性中,我們還可以通過get和set方法來手動獲取和設置計算屬性的值。get方法用于獲取計算屬性的值,而set方法則用于設置計算屬性的值。當調用計算屬性并賦值時,實際上就是調用了set方法,對計算屬性進行賦值。例如下面代碼中的例子:

computed: {
fullName: {
// getter 方法
get: function () {
return this.firstName + ' ' + this.lastName
},
// setter 方法
set: function (newValue) {
var names = newValue.split(' ')
this.firstName = names[0]
this.lastName = names[names.length - 1]
}
}
}

在這個例子中,我們定義了一個fullName的計算屬性,并通過get和set方法來獲取和設置計算屬性的值。當對fullName進行賦值時,實際上就是給firstName和lastName賦值,從而更新fullName計算得到的新值。

最后,請注意computed屬性的一些注意事項。首先,computed屬性必須是一個返回值的函數,而不能是一個對象。其次,在template中應該總是使用computed屬性而不是methods屬性,因為computed屬性具有緩存機制,能夠提高計算效率。最后,computed屬性的名稱應該具有描述性,盡量避免使用過于簡單或含糊的名稱,這有助于更好地理解計算屬性的作用和依賴關系。