最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue2.0自定義指令示例代碼詳解

 更新時(shí)間:2019年04月25日 11:28:44   作者:_Junjun  
指令通常以"v-"作為前綴, 以方便Vue知道你在使用一種特殊的標(biāo)記。這篇文章主要介紹了vue2.0自定義指令的實(shí)例代碼,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

1、什么是指令?

指令通常以"v-"作為前綴, 以方便Vue知道你在使用一種特殊的標(biāo)記。

除了 Vue 核心攜帶著的一些默認(rèn)指令(v-model 和 v-show)之外,

Vue 還允許你注冊自己的自定義指令。某些情況下,還是需要對普通元素進(jìn)行一些底層 DOM 訪問,

這也是自定義指令仍然有其使用場景之處。

2、全局指令:

當(dāng)頁面加載時(shí),元素將獲取焦點(diǎn),事實(shí)上,在訪問頁面時(shí),如果你還沒有點(diǎn)擊任何地方,上面的輸入框現(xiàn)在應(yīng)該處于獲取焦點(diǎn)的狀態(tài)。現(xiàn)在讓我們構(gòu)建指令以完成此效果:

<template>
<div class="parent">
 <input v-focus>
</div>
</template>
import Vue from 'vue'
 import cnChildren from './children'
 // 注冊一個(gè)名為 `v-focus` 的全局自定義指令
 Vue.directive('focus', {
  // 當(dāng)綁定的元素插入到 DOM 時(shí)調(diào)用此函數(shù)……
  inserted: function (el) {
   // 元素調(diào)用 focus 獲取焦點(diǎn)
   el.focus()
  }
 });

如果你想要注冊一個(gè)局部指令,也可以通過設(shè)置組件的 directives 選項(xiàng):

directives: {
 focus: {
  // 指令定義對象
  inserted: function (el) {
   el.focus()
  }
 }
}

我們有幾個(gè)可用的鉤子:

bind:在指令第一次綁定到元素時(shí)調(diào)用,只會(huì)調(diào)用一次??梢栽诖算^子函數(shù)中,執(zhí)行一次性的初始化設(shè)置。
inserted:在已綁定的元素插入到父節(jié)點(diǎn)時(shí)調(diào)用(只能保證父節(jié)點(diǎn)存在,不一定存在于 document 中)。
update:在包含指令的組件的 VNode 更新后調(diào)用,但可能之前其子組件已更新。指令的值可能更新或者還沒更新,然而可以通過比較綁定的當(dāng)前值和舊值,來跳過不必要的更新(參考下面的鉤子函數(shù))。
componentUpdated:在包含指令的組件的 VNode 更新后調(diào)用,并且其子組件的 VNode 已更新。
unbind:在指令從元素上解除綁定時(shí)調(diào)用,只會(huì)調(diào)用一次。
每個(gè)鉤子可以選擇一些參數(shù)。

el:指令綁定的元素??梢杂糜谥苯硬僮?DOM。

binding:一個(gè)對象,包含以下屬性:

1、name:指令的名稱,不包括 v- 前綴。
  2、value:向指令傳入的值。例如,在 v-my-directive="1 + 1" 中,傳入的值是 2。
  3、oldValue:之前的值,只在 update 和 componentUpdated 鉤子函數(shù)中可用。無論值是否發(fā)生變化,都可以使用。
  4、expression:指令綁定的表達(dá)式(expression),以字符串格式。例如,在 v-my-directive="1 + 1" 中,表達(dá)式是 "1 + 1"。
  5、arg:向指令傳入的參數(shù),如果有的話。例如,在 v-my-directive:foo 中,參數(shù)是 "foo"。
  6、modifiers:一個(gè)對象,包含修飾符,如果有的話。例如,在 v-my-directive.foo.bar 中,修飾符是 { foo: true, bar: true }。
vnode:由 Vue 編譯器(Vue's compiler)生成的虛擬 Node 節(jié)點(diǎn)(virtual node)。更多細(xì)節(jié)請查看
VNode API。

除了 el 之外的其他參數(shù),都應(yīng)該是只讀的,并且永遠(yuǎn)不要去修改它們。

3、自定義指令示例

如果指令需要多個(gè)值,你還可以向指令傳入 JavaScript 對象字面量(object literal)。記住,指令能夠接收所有有效的 JavaScript 表達(dá)式。

<div v-demo="{ color: 'white', text: 'hello!' }"></div>
Vue.directive('demo', function (el, binding) {
 console.log(binding.value.color) // => "white"
 console.log(binding.value.text) // => "hello!"
})

總結(jié)

以上所述是小編給大家介紹的vue2.0自定義指令示例代碼詳解,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!

相關(guān)文章

  • vue-router如何實(shí)現(xiàn)history模式配置

    vue-router如何實(shí)現(xiàn)history模式配置

    這篇文章主要介紹了vue-router如何實(shí)現(xiàn)history模式配置,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • Vue如何實(shí)現(xiàn)利用vuex永久儲(chǔ)存數(shù)據(jù)

    Vue如何實(shí)現(xiàn)利用vuex永久儲(chǔ)存數(shù)據(jù)

    這篇文章主要介紹了Vue如何實(shí)現(xiàn)利用vuex永久儲(chǔ)存數(shù)據(jù)問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • 解決vue.js在編寫過程中出現(xiàn)空格不規(guī)范報(bào)錯(cuò)的問題

    解決vue.js在編寫過程中出現(xiàn)空格不規(guī)范報(bào)錯(cuò)的問題

    下面小編就為大家?guī)硪黄鉀Qvue.js在編寫過程中出現(xiàn)空格不規(guī)范報(bào)錯(cuò)的問題。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-09-09
  • vue全局?jǐn)?shù)據(jù)管理示例詳解

    vue全局?jǐn)?shù)據(jù)管理示例詳解

    這篇文章主要為大家介紹了vue全局?jǐn)?shù)據(jù)管理示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-07-07
  • 使用 Element UI Table 的 slot-scope方法

    使用 Element UI Table 的 slot-scope方法

    這篇文章主要介紹了使用 Element UI Table 的 slot-scope方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • 詳解webpack編譯多頁面vue項(xiàng)目的配置問題

    詳解webpack編譯多頁面vue項(xiàng)目的配置問題

    本篇文章主要介紹了詳解webpack編譯多頁面vue項(xiàng)目的配置問題,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-12-12
  • vue中的v-model原理,與組件自定義v-model詳解

    vue中的v-model原理,與組件自定義v-model詳解

    這篇文章主要介紹了vue中的v-model原理,與組件自定義v-model詳解,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08
  • vue2單元測試環(huán)境搭建

    vue2單元測試環(huán)境搭建

    本篇文章給大家分享了vue2單元測試環(huán)境搭建的詳細(xì)步驟,對此有需要的朋友參考學(xué)習(xí)下。
    2018-05-05
  • vue實(shí)現(xiàn)橫向時(shí)間軸組件方式

    vue實(shí)現(xiàn)橫向時(shí)間軸組件方式

    這篇文章主要介紹了vue實(shí)現(xiàn)橫向時(shí)間軸組件方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • vue axios數(shù)據(jù)請求get、post方法及實(shí)例詳解

    vue axios數(shù)據(jù)請求get、post方法及實(shí)例詳解

    axios是一個(gè)基于Promise,同時(shí)支持瀏覽器端和Node.js的HTTP庫,常用于Ajax請求。這篇文章主要介紹了vue axios數(shù)據(jù)請求get、post方法的使用 ,需要的朋友可以參考下
    2018-09-09

最新評論

宾阳县| 繁昌县| 田林县| 修文县| 墨江| 宁远县| 会宁县| 葫芦岛市| 华蓥市| 元朗区| 五常市| 巢湖市| 临颍县| 博爱县| 洪湖市| 潮州市| 丁青县| 吴堡县| 卓尼县| 西贡区| 宜兰县| 大理市| 铜梁县| 隆林| 海原县| 成安县| 伊金霍洛旗| 上高县| 万载县| 准格尔旗| 余庆县| 汝阳县| 拜泉县| 资兴市| 江阴市| 巴彦淖尔市| 昌吉市| 怀化市| 旺苍县| 东辽县| 温泉县|