Wie bereits erw?hnt, habe ich in der offiziellen Dokumentation von vue.js ein Beispiel für die Verwendung von ?computed“ und ?watch“ gesehen, um den vollst?ndigen Namen zu erhalten:
var var vm = new Vue({
el: '#demo',
data: {
firstName: 'Foo',
lastName: 'Bar',
fullName: 'Foo Bar'
},
watch: {
firstName: function (val) {
this.fullName = val + ' ' + this.lastName
},
lastName: function (val) {
this.fullName = this.firstName + ' ' + val
}
}
})
var var vm = new Vue({
el: '#demo',
data: {
firstName: 'Foo',
lastName: 'Bar'
},
computed: {
fullName: function () {
return this.firstName + ' ' + this.lastName
}
}
})
Der Neuling sagte, dass er den Unterschied zwischen ihnen nicht versteht. Kann man die Uhr nicht wie berechnet erhalten?
擁有18年軟件開發(fā)和IT教學經(jīng)驗。曾任多家上市公司技術總監(jiān)、架構(gòu)師、項目經(jīng)理、高級軟件工程師等職務。 網(wǎng)絡人氣名人講師,...
我覺得還是有區(qū)別的,而且兩種應用的情形應該區(qū)分開。
計算屬性是計算屬性,觀察是觀察。
計算屬性顧名思義就是通過其他變量計算得來的另一個屬性,fullName在它所依賴firstName,lastName這兩個變量變化時重新計算自己的值。
另外,計算屬性具有緩存。計算屬性是基于它們的依賴進行緩存的。計算屬性只有在它的相關依賴發(fā)生改變時才會重新求值。這就意味著只要 lastName和firstName都沒有發(fā)生改變,多次訪問 fullName計算屬性會立即返回之前的計算結(jié)果,而不必再次執(zhí)行函數(shù)。
而觀察watch是觀察一個特定的值,當該值變化時執(zhí)行特定的函數(shù)。例如分頁組件中,我們可以檢測頁碼執(zhí)行獲取數(shù)據(jù)的函數(shù)。
可以再詳細的查看一下文檔:https://cn.vuejs.org/v2/guide...
簡單來看computed是基于緩存進行的,watch等于一個函數(shù)。個人覺得會用就行了,具體區(qū)別移駕具體區(qū)別
覺得還是計算屬性用的能廣泛一些吧