欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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 等號后對應的值

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

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

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

相關(guān)文章

  • Vue3中插槽(slot)的全部使用方法

    Vue3中插槽(slot)的全部使用方法

    這篇文章主要介紹了Vue3中插槽(slot)的全部使用方法,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-08-08
  • 解決vue字符串換行問題(絕對管用)

    解決vue字符串換行問題(絕對管用)

    這篇文章主要介紹了解決vue字符串換行問題(絕對管用),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08
  • vue刷新后瞬間閃爍,無法解析的問題

    vue刷新后瞬間閃爍,無法解析的問題

    這篇文章主要介紹了vue刷新后瞬間閃爍,無法解析的問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • 在vue中實現(xiàn)禁止屏幕滾動,禁止屏幕滑動

    在vue中實現(xiàn)禁止屏幕滾動,禁止屏幕滑動

    這篇文章主要介紹了在vue中實現(xiàn)禁止屏幕滾動,禁止屏幕滑動,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • vue+j簡單的實現(xiàn)輪播效果,滾動公告,銜接

    vue+j簡單的實現(xiàn)輪播效果,滾動公告,銜接

    這篇文章主要介紹了vue+j簡單的實現(xiàn)輪播效果,滾動公告,銜接,文章圍繞主題的相關(guān)資料展開詳細的內(nèi)容具有一定的參考價值,需要的小伙伴可以參考一下
    2022-06-06
  • Vue3.2+Ts組件之間通信的實現(xiàn)

    Vue3.2+Ts組件之間通信的實現(xiàn)

    本文主要介紹了Vue3.2+Ts組件之間通信的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-06-06
  • Vue組件設(shè)計之多列表拖拽交換排序功能實現(xiàn)

    Vue組件設(shè)計之多列表拖拽交換排序功能實現(xiàn)

    這篇文章主要介紹了Vue組件設(shè)計之多列表拖拽交換排序,常見的場景有單列表拖拽排序,多列表拖拽交換排序,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-05-05
  • vue自定義指令實現(xiàn)方法詳解

    vue自定義指令實現(xiàn)方法詳解

    這篇文章主要介紹了vue自定義指令實現(xiàn)方法,結(jié)合實例形式分析了vue.js自定義指令相關(guān)定義、注冊、使用方法及操作注意事項,需要的朋友可以參考下
    2019-02-02
  • vue-cli創(chuàng)建vue項目的詳細步驟記錄

    vue-cli創(chuàng)建vue項目的詳細步驟記錄

    vue.cli是vue中的項目構(gòu)造工具,是一個npm包,需要安裝node.js和 git才能用,下面這篇文章主要給大家介紹了關(guān)于利用vue-cli創(chuàng)建vue項目的詳細步驟,需要的朋友可以參考下
    2022-06-06
  • vee-validate vue 2.0自定義表單驗證的實例

    vee-validate vue 2.0自定義表單驗證的實例

    今天小編就為大家分享一篇vee-validate vue 2.0自定義表單驗證的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-08-08

最新評論