1 6 VUE計算屬性

2021-09-19 03:57:29 字數 2549 閱讀 5110

如下,對於任何複雜邏輯,應當使用計算屬性。

計算屬性-01title

>

head

>

>

>

>

firstname: type

="text"

v-model

="firstname"

>

p>

>

lastname: type

="text"

v-model

="lastname"

>

p>

>

fullnamebycomputed: }

p>

>

fullnamebymethod: }

p>

>

now: }

p>

>

now1: }

p>

div>

src=

"">

script

>

>

(function()

, methods:

, now1:

function()

},<

!-- 計算屬性 --

>

computed:

, now:

function()

}});

})()

;script

>

body

>

html

>

在上示例中,計算屬性只有在它的相關依賴發生改變時才會重新求值。這就意味著只要 firstname 或者 lastname 還沒有發生改變,多次訪問 fullnamebycomputed 計算屬性會立即返回之前的計算結果,而不必再次執行函式。相比之下,每當觸發重新渲染時,呼叫methods將總會再次執行函式。

使用計算屬性還是 methods 取決於你是否需要快取,當遍歷大陣列和做大量計算時,應當使用計算屬性,除非你不希望得到快取。

上示例中,在輸入框中輸入內容時,頁面上now的值不會改變,但是now1的值會跟著變動。如下↓↓↓:

絕大多數情況下,我們只會用預設的 getter 方法來讀取乙個計算屬性,在業務中很少用到setter,所以在宣告乙個計算屬性時,可以直接使用預設的寫法,不必將 getter 和 setter 都宣告。

計算屬性-02title

>

head

>

>

>

>

firstname: type

="text"

v-model

="firstname"

>

p>

>

lastname: type

="text"

v-model

="lastname"

>

p>

>

fullname: type

="text"

v-model

="fullname"

>

p>

>

fullname1: type

="text"

v-model

="fullname1"

>

p>

div>

src=

"">

script

>

>

(function()

, computed:

,<

!-- 當fullname變化時,firstname和lastname也會變化 --

>

set:

function

(newval)},

<

!-- 預設就是上邊fullname中get

-->

fullname1:

function()

}});

})()

;script

>

body

>

html

>

16Vue 計算屬性(基礎例子

在模板中繫結表示式是非常便利的,但是它們實際上只用於簡單的操作。在模板中放入太多的邏輯會讓模板過重且難以維護。例如 在這種情況下,模板不再簡單和清晰。在實現反向顯示 message 之前,你應該確認它。這個問題在你不止一次反向顯示 message 的時候變得更加糟糕。這就是為什麼任何複雜邏輯,你都應...

16 《vue之自定義指令》

1 自定義指令 使用vue.directive id,definition 註冊全域性自定義指令,使用元件的directives選項註冊區域性自定義指令。2 鉤子函式 指令定義函式提供了幾個鉤子函式 可選 bind 只呼叫一次,指令第一次繫結到元素時呼叫,用這個鉤子函式可以定義乙個在繫結時執行一次的...

vue 計算屬性

在這裡我覺得講 computed 和methods放在一起討論 更 便於 理解。computed var vm new vue computed methods methods methods和computed從顯示效果是一樣的,但是主要的區別是 1.computer 是存在快取的,在data沒有改...