Vue自定義指令,計算屬性,偵聽器,過濾器

2022-08-11 06:42:12 字數 1692 閱讀 1772

1 自定義指令

區域性註冊: directives: }

例子:用自定義指令改變輸入框的背景顏色(全域性註冊)

color 自定義指令名 , inserted就是鉤子函式,el代表被繫結的元素,binding是個物件(binding.value是所繫結的值,也就是說如果不打算傳值就不許用這個引數,比如讓輸入框聚焦那個例子就不用直接el.focus()就行了)

什麼叫鉤子函式?

只要你用某個東西就只能用某些函式,這些函式就叫鉤子函式。比如你用directive你就只能用inserted,bind,update這三個函式,而不是自定義的。對比計算屬性就很明顯感覺得到

補充:如果想變成區域性變數:

計算屬性

作用:把模板中複雜的計算邏輯抽取出來,這樣模板會變得更加簡單

例如: 將字串倒序

這樣模板內容就很多,不方便**

注意:加return , this

總結: 計算屬性用來簡化模板語法。

計算屬性看起來像方法,他與方法有什麼區別呢?

如果msg不發生變化,多次訪問用的都是第一次計算的結果。(計算屬性基於data中的資料進行快取)如果要計算的東西耗時長那麼他的優點就體現了,節省效能。

而methons每次訪問都會重新計算

偵聽器

當頁面的值發生變化時呼叫函式去處理一些**非同步的任務**

例子:判斷輸入框的內容是否為1,為1怎輸出不可以為1

val從模板攜帶過來的資料

.lazy是讓輸入框數去焦點時再改變data中的資料,不然會一直觸發msg的事件監聽。因為msg的事件監聽是根據data中的變化觸發的

過濾器

作用:用於處理資料,比如將資料首字母大寫,將日期格式化為指定格式

使用場景乙個是插值表示式乙個是屬性繫結

繫結在那個插值表示式,val就是那個值

Vue計算屬性和偵聽器

模板內的表示式非常便利,但是在模板中放入太多的邏輯會讓模板過重切難以維護。對於任何複雜邏輯都應該使用計算屬性。var vm new vue computed 這裡宣告乙個計算屬性reversemsg。我們提供的函式將作用屬性vm.reversemsg的getter函式。我們可以在表示式中呼叫方法來達...

一 vue 計算屬性,方法,偵聽器

計算屬性將被混入到 vue 例項中。所有 getter 和 setter 的 this 上下文自動地繫結為 vue 例項。注意如果你為乙個計算屬性使用了箭頭函式,則 this 不會指向這個元件的例項,不過你仍然可以將其實例作為函式的第乙個引數來訪問。computed 計算屬性的結果會被快取,除非依賴...

Vue 計算屬性,偵聽器的使用

偵聽器是用來檢測資料變化從而新增自己自定義邏輯的 這一點和計算屬性很相似,計算屬性一般作用於簡單的一些小邏輯 如果邏輯比較複雜可以使用偵聽器,注意的是偵聽器效能方面比不上計算屬性。watch偵聽器執行結果 改變偵聽器值 對於任何複雜邏輯,你都應當使用計算屬性。在乙個計算屬性裡可以完成各種複雜的邏輯,...