VUE-2:自定義指令、事件

自定義指令(directive指令)

        我們還可以通過 `Vue` 提供的方法來自定義指令

註冊指令

        `vue` 提供了兩種指令註冊方式

                - 全局指令

                - 局部指令

全局指令

註冊在外部

局部指令

註冊在組件內部

        在使用指令的時候,需要使用 `v-指令名稱` 的方式來調用

ref

        屬性,vue提供的一種用於獲取標籤(組件)實例對象的簡便方式

指令生命週期(鉤子函數)

輸入框光標案例:

輸入框自動獲得焦點

點擊按鈕後再獲取焦點

拖拽功能案例:

.limit(修飾符,限定範圍)


事件

組件的 `methods` 選項(方法集)

        在組件選項中,提供了一個 `methods` 選項,用來存放組件中使用的函數方法,且存放在 `methods` 中的函數方法可以通過

        組件實例(this)進行訪問

通過內聯方式綁定事件處理函數

        事件綁定函數中的 `this` 指向組件實例

        事件綁定函數中的第一個參數默認爲 `event` 對象

        也可以在事件綁定中直接調用函數(並不會立即執行,也是通過事件觸發執行的)

                事件對象需要手動傳入,名稱爲 `$event`

事件修飾符

`vue` 還提供了許多按鍵修飾符


computed

        在實際的應用中,我們會有一些原始數據,同時在應用中又會有一些數據是根據某些原始數據派生出來的,針對這樣的一種情況,

        `vue` 定義了一個專門用來處理這種派生數據的選項:`computed`

                1.計算屬性類似 `getter` 和 `setter` ,當訪問某個計算屬性的時候,就會調用 `computed` 中同名的函數,函數的返回值將作爲該計                       算屬性的值

                2.計算屬性的值依賴計算函數中依賴的其它響應式數據

                3.計算屬性的值可以緩存,如果依賴的其它響應式數據沒有發生變化,但多次訪問該計算屬性,得到結果是最近一次變化產生的值

                  (相對於調用方法得到結果在某些時候性能要好一些)

簡寫形式,get、set變體

獲取時間案例

男、女、全選


計算屬性的 `getter` 與 `setter`

        默認情況下,計算屬性函數是一個 `getter` 函數,如果計算屬性只有 get 需求,則可以簡寫


watch

        有的時候,我們需要的派生數據是通過異步的方式處理的,這個時候,計算屬性就不太好用了(不能處理異步)。

        我們可以使用另外一個選項:`watch`

不支持promise


延遲輸入用watch:


多層監聽

        對於多層數據的監聽,可以使用字符串+點語法

深度監聽

        默認情況下,`watch` 只對當前指定的值進行一層監聽,如果需要對對象進行深度監聽


過濾器

註冊過濾器

    全局過濾器

    局部過濾器

案例:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章