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

Vue中的directive指令快速使用

 更新時(shí)間:2022年10月18日 09:05:57   作者:小鐵匠95  
這篇文章主要介紹了Vue中的directive指令快速使用,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

一、用法:注冊(cè)或獲取全局指令

Vue.directive(id,[definition])

除了核心功能默認(rèn)內(nèi)置的指令 (v-model 和 v-show),Vue 也允許注冊(cè)自定義指令。注意,在 Vue2.0 中,代碼復(fù)用和抽象的主要形式是組件。

然而,有的情況下,你仍然需要對(duì)普通 DOM 元素進(jìn)行底層操作,這時(shí)候就會(huì)用到自定義指令。

二、鉤子函數(shù)

一個(gè)指令定義對(duì)象可以提供如下幾個(gè)鉤子函數(shù)(均為可選):

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

鉤子函數(shù)參數(shù):

image.png

使用property的自定義鉤子樣例:

<template>
  <div class="content">
    <div id="hook-arguments-example" v-demo:foo.a.b="message"></div>
  </div>
</template>  
<script>
export default {
  name: 'Content',
  data(){
    return{
      message: 'hello!'
    }
  },
  directives: {
    demo:{
      bind: function (el, binding, vnode) {
        var s = JSON.stringify
        el.innerHTML =
        'name: '       + s(binding.name) + '<br>' +
        'value: '      + s(binding.value) + '<br>' +
        'expression: ' + s(binding.expression) + '<br>' +
        'argument: '   + s(binding.arg) + '<br>' +
        'modifiers: '  + s(binding.modifiers) + '<br>' +
        'vnode keys: ' + Object.keys(vnode).join(', ')
      }
    }
  }
}
</script>

頁(yè)面顯示:

image.png

三、快速使用-----獲取input框的焦點(diǎn)

1.全局指令

在main.js總注冊(cè):

Vue.directive('focus',{
  // 當(dāng)綁定元素插入到 DOM 中
  inserted: function(el) {
    el.focus();
  }
})
new Vue({
  router,
  store,
  render: h => h(App),
}).$mount('#app')

頁(yè)面引入:

<template>
  <div class="content">
    <input type="text" v-focus/>
  </div>
</template>  

2.局部指令

<template>
  <div class="content">
    <input type="text" v-focus/>
  </div>
</template>  
<script>
export default {
  name: 'Content',
  directives: {
    focus: {
      // 指令的定義
      inserted: function(el) {
        el.focus();
      }
    }
  }
}
</script>

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

相關(guān)文章

  • vue3的介紹和兩種創(chuàng)建方式詳解(cli和vite)

    vue3的介紹和兩種創(chuàng)建方式詳解(cli和vite)

    這篇文章主要介紹了vue3的介紹和兩種創(chuàng)建方式(cli和vite),vue3對(duì)比vue2帶來(lái)的性能提升有很多優(yōu)勢(shì),總體來(lái)說(shuō)Vue 3在性能、開(kāi)發(fā)體驗(yàn)和代碼組織方面都有所改進(jìn),使得它更加適合于大型、復(fù)雜的應(yīng)用程序開(kāi)發(fā),需要的朋友可以參考下
    2023-04-04
  • nginx+vite項(xiàng)目打包以及部署的詳細(xì)過(guò)程

    nginx+vite項(xiàng)目打包以及部署的詳細(xì)過(guò)程

    我們使用nginx部署Vue項(xiàng)目,實(shí)質(zhì)上就是將Vue項(xiàng)目打包后的內(nèi)容同步到nginx指向的文件夾,下面這篇文章主要給大家介紹了關(guān)于nginx+vite項(xiàng)目打包以及部署的相關(guān)資料,需要的朋友可以參考下
    2023-01-01
  • Vue中.native修飾符的作用及說(shuō)明

    Vue中.native修飾符的作用及說(shuō)明

    這篇文章主要介紹了Vue中.native修飾符的作用及說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • vue實(shí)現(xiàn)excel文件的導(dǎo)入和讀取完整步驟

    vue實(shí)現(xiàn)excel文件的導(dǎo)入和讀取完整步驟

    Vue的數(shù)據(jù)綁定功能非常強(qiáng)大,很適合用來(lái)讀取Excel內(nèi)容,這篇文章主要給大家介紹了關(guān)于vue實(shí)現(xiàn)excel文件的導(dǎo)入和讀取的相關(guān)資料,文中通過(guò)代碼示例介紹的非常詳細(xì),需要的朋友可以參考下
    2023-10-10
  • vue.js實(shí)現(xiàn)開(kāi)關(guān)(switch)組件實(shí)例代碼

    vue.js實(shí)現(xiàn)開(kāi)關(guān)(switch)組件實(shí)例代碼

    這篇文章介紹了vue.js實(shí)現(xiàn)開(kāi)關(guān)(switch)組件的實(shí)例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-06-06
  • laravel5.4+vue+element簡(jiǎn)單搭建的示例代碼

    laravel5.4+vue+element簡(jiǎn)單搭建的示例代碼

    本篇文章主要介紹了laravel5.4+vue+element簡(jiǎn)單搭建的示例代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • Vue Router 實(shí)現(xiàn)動(dòng)態(tài)路由和常見(jiàn)問(wèn)題及解決方法

    Vue Router 實(shí)現(xiàn)動(dòng)態(tài)路由和常見(jiàn)問(wèn)題及解決方法

    動(dòng)態(tài)路由不同于常見(jiàn)的靜態(tài)路由,可以根據(jù)不同的「因素」而改變站點(diǎn)路由列表。這篇文章主要介紹了Vue Router 實(shí)現(xiàn)動(dòng)態(tài)路由和常見(jiàn)問(wèn)題解決方案,需要的朋友可以參考下
    2020-03-03
  • Vue3實(shí)現(xiàn)SSE(Server-Sent?Events)連接

    Vue3實(shí)現(xiàn)SSE(Server-Sent?Events)連接

    SSE?是一種允許服務(wù)器向?yàn)g覽器推送事件的技術(shù),這篇文章主要為大家詳細(xì)介紹了如何通過(guò)vue3實(shí)現(xiàn)SSE(Server-Sent?Events)連接,有需要的小伙伴可以了解下
    2024-10-10
  • vue3實(shí)現(xiàn)在新標(biāo)簽中打開(kāi)指定網(wǎng)址的方法

    vue3實(shí)現(xiàn)在新標(biāo)簽中打開(kāi)指定網(wǎng)址的方法

    我希望點(diǎn)擊查看按鈕的時(shí)候,能夠在新的標(biāo)簽頁(yè)面打開(kāi)這個(gè)文件的地址進(jìn)行預(yù)覽,該如何實(shí)現(xiàn)呢,下面小編給大家?guī)?lái)了基于vue3實(shí)現(xiàn)在新標(biāo)簽中打開(kāi)指定的網(wǎng)址,感興趣的朋友跟隨小編一起看看吧
    2024-07-07
  • Vuex中State的使用方法

    Vuex中State的使用方法

    這篇文章主要介紹了Vuex中State的使用方法,Vuex 使用單一狀態(tài)樹(shù),用一個(gè)對(duì)象就包含了全部的應(yīng)用層級(jí)狀態(tài),這也意味著,每個(gè)應(yīng)用將僅僅包含一個(gè) store 實(shí)例,需要的朋友可以參考下
    2023-11-11

最新評(píng)論