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

vue 自定義指令directives及其常用鉤子函數(shù)說明

 更新時間:2022年01月24日 09:34:26   作者:web前端 zxp  
這篇文章主要介紹了vue 自定義指令directives及其常用鉤子函數(shù)說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

自定義指令directives及常用鉤子函數(shù)

說明

除了核心功能默認內(nèi)置的指令 (v-model 和 v-show),Vue 也允許注冊自定義指令

使用的地方:有的情況下,你仍然需要對普通 DOM 元素進行底層操作,這時候就會用到自定義指令

鉤子函數(shù)

  • inserted:被綁定元素插入父節(jié)點時調(diào)用 (僅保證父節(jié)點存在,但不一定已被插入文檔中)。
  • bind:只調(diào)用一次,指令第一次綁定到元素時調(diào)用。在這里可以進行一次性的初始化設(shè)置。
  • update: 所在組件的 VNode 更新時調(diào)用,但是可能發(fā)生在其子 VNode 更新之前。指令的值可能發(fā)生了改變,也可能沒有。但是你可以通過比較更新前后的值來忽略不必要的模板更新。
  • componentUpdated:指令所在組件的 VNode 及其子 VNode 全部更新后調(diào)用。
  • unbind:只調(diào)用一次,指令與元素解綁時調(diào)用。

vue 全局定義

使用:<span v-指令名稱> welcome </span> 也可以 v-指令名稱="傳遞的參數(shù)"

定義:Vue.directive(指令名稱,{指令鉤子:功能函數(shù)})

<div id="root">
? ? ? ? <span v-red>welcome</span>
? ? </div>
? ? <script type="text/javascript">
? ? ? ? Vue.directive('red',{ ? ? ? //定義 ???
? ? ? ? ? ? inserted:function(el){ ?//鉤子函數(shù) ???
? ? ? ? ? ? ? ? el.style.background = 'red';
? ? ? ? ? ? }
? ? ? ? });
? ? ? ? var vm = new Vue({
? ? ? ??? ??? ?el:"#root"
? ? ? ? ? ? data:{ ? ? ? ? ? ?
? ? ? ? ? ? },
? ? ? ? })
? ? </script>

局部定義(vue-cli)

使用:<div v-指令名稱='傳遞的參數(shù)'></div> // 傳遞參數(shù)可以根據(jù)功能需求進行操作

定義:directives{指令名稱:{鉤子函數(shù):功能函數(shù)}}

<template>
? <div class="hello">
? ?? ?<div v-test='name'></div>
? </div>
</template>
<script>

export default {
? data () {
? ? return {
? ? ?name:'userName',
? ? }
? },
? directives:{ ? ? //自定義指令 ???
? ?? ?test:{
?? ? ? ?inserted: function (el,binding) { //e為綁定元素,可以對其進行dom操作
?? ? ? ? ? console.log(binding) ? ? ? ? ?//一個對象,包含很多屬性屬性(在下面)
?? ? ? ?},
?? ? ? ?bind: function (el, binding, vnode) {
?? ??? ? ? ?el.innerHTML =binding.value
?? ??? ? ?}
? ?? ?}
? },
? methods:{
??? ?... ...
? }
}
</script>

鉤子函數(shù)里面的參數(shù)

  • el:指令所綁定的元素,可以用來直接操作 DOM。
  • binding:一個對象,包含以下 property:

name:指令名,不包括 v- 前綴。

value:指令的綁定值,例如:v-my-directive=“1 + 1” 中,綁定值為 2。

oldValue:指令綁定的前一個值,僅在 update 和 componentUpdated 鉤子中可用。無論值是否改變都可用。

expression:字符串形式的指令表達式。例如 v-my-directive=“1 + 1” 中,表達式為 “1 + 1”。

arg:傳給指令的參數(shù),可選。例如 v-my-directive:foo 中,參數(shù)為 “foo”。

modifiers:一個包含修飾符的對象。例如:v-my-directive.foo.bar 中,修飾符對象為 { foo: true, bar: true }。

  • vnode:Vue 編譯生成的虛擬節(jié)點。
  • oldVnode:上一個虛擬節(jié)點,僅在 update 和 componentUpdated 鉤子中可用。

vue 自定義指令 directives選項

directives選項中定義 指令

使用時添加v-前綴

全局注冊

app.directive('xxx',{})

支持動態(tài)指令參數(shù)

v-xx:[abc]='xxx'

指令函數(shù)能夠接受所有合法的 JavaScript 表達式。

如果方法只需要在 mounted 和 updated 的時間鉤子觸發(fā)

可以簡寫為單純的回調(diào)函數(shù)

參數(shù)說明

第一個參數(shù) 為綁定的元素

第二個參數(shù) 為傳遞的對象

  • .arg 綁定的參數(shù)
  • .value 等號后對應(yīng)的值

在應(yīng)用到組件上時,和非 prop 的 attribute不同,指令不會通過 v-bind="$attrs" 被傳入另一個元素。

當被應(yīng)用在一個多根節(jié)點的組件上時,指令會被忽略,并且會拋出一個警告。

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Vue開發(fā)中出現(xiàn)Loading?Chunk?Failed的問題解決

    Vue開發(fā)中出現(xiàn)Loading?Chunk?Failed的問題解決

    本文主要介紹了Vue開發(fā)中出現(xiàn)Loading?Chunk?Failed的問題解決,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-03-03
  • vue使用monaco?editor漢化右鍵菜單示例

    vue使用monaco?editor漢化右鍵菜單示例

    這篇文章主要為大家介紹了vue使用?monaco?editor?漢化右鍵菜單實現(xiàn)漢化示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-08-08
  • 關(guān)于vue.js中實現(xiàn)方法內(nèi)某些代碼延時執(zhí)行

    關(guān)于vue.js中實現(xiàn)方法內(nèi)某些代碼延時執(zhí)行

    今天小編就為大家分享一篇關(guān)于vue.js中實現(xiàn)方法內(nèi)某些代碼延時執(zhí)行,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • Vue分頁插件的前后端配置與使用

    Vue分頁插件的前后端配置與使用

    這篇文章主要為大家詳細介紹了Vue分頁插件的前后端配置與使用,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-10-10
  • Vue.js學習示例分享

    Vue.js學習示例分享

    本篇和大家分享的是學習Vuejs的總結(jié)和調(diào)用webapi的一個小示例;具有一定的參考價值,下面跟著小編一起來看下吧
    2017-02-02
  • vue3-print-nb實現(xiàn)頁面打印(含分頁打印)示例代碼

    vue3-print-nb實現(xiàn)頁面打印(含分頁打印)示例代碼

    大多數(shù)后臺系統(tǒng)中都存在打印的需求,在有打印需求時,對前端來說當然是直接打印頁面更容易,下面這篇文章主要給大家介紹了關(guān)于vue3-print-nb實現(xiàn)頁面打印(含分頁打印)的相關(guān)資料,需要的朋友可以參考下
    2024-01-01
  • 詳解Vue基于vue-quill-editor富文本編輯器使用心得

    詳解Vue基于vue-quill-editor富文本編輯器使用心得

    這篇文章主要介紹了Vue基于vue-quill-editor富文本編輯器使用心得,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-01-01
  • vue之proxyTable代理超全面配置方式

    vue之proxyTable代理超全面配置方式

    本文作者分享了使用Vue進行代理配置的個人經(jīng)驗,介紹了如何使用proxyTable進行跨域請求配置,并提供了具體的配置文件和使用方法,便于同行參考和學習
    2024-10-10
  • Vue3中的動畫過渡實現(xiàn)技巧分享

    Vue3中的動畫過渡實現(xiàn)技巧分享

    在現(xiàn)代的前端開發(fā)中,用戶體驗的重要性不言而喻,為了讓應(yīng)用程序更加生動和引人注目,動畫和過渡效果是必不可少的元素,本文將以 Vue3 為基礎(chǔ),深入探討如何在應(yīng)用程序中實現(xiàn)動畫過渡,以及一些技巧和最佳實踐,需要的朋友可以參考下
    2025-01-01
  • vue 怎么創(chuàng)建組件及組件使用方法

    vue 怎么創(chuàng)建組件及組件使用方法

    vue中的核心就是組件,組件 (Component) 是 Vue.js 最強大的功能之一。組件可以擴展 HTML 元素,封裝可重用的代碼,下面通過本文重點給大家介紹vue 創(chuàng)建組件及組件使用方法,感興趣的朋友一起看看吧
    2017-07-07

最新評論

洛阳市| 固始县| 青河县| 武夷山市| 巨鹿县| 刚察县| 岗巴县| 榆社县| 繁峙县| 远安县| 永安市| 青川县| 信宜市| 喀喇| 无极县| 特克斯县| 尉犁县| 易门县| 郁南县| 万宁市| 岢岚县| 罗源县| 太白县| 六安市| 昂仁县| 嘉兴市| 格尔木市| 崇义县| 五莲县| 丰城市| 溆浦县| 红原县| 班戈县| 甘泉县| 西城区| 霍林郭勒市| 炉霍县| 屏山县| 东辽县| 万荣县| 泸州市|