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

vue.js內(nèi)部自定義指令與全局自定義指令的實(shí)現(xiàn)詳解(利用directive)

 更新時(shí)間:2017年07月11日 09:06:46   作者:前端交流ing  
這篇文章主要給大家介紹了關(guān)于vue.js內(nèi)部自定義指令與全局自定義指令的實(shí)現(xiàn)方法,vue.js中實(shí)現(xiàn)自定義指令的主要是利用directive,directive這個(gè)單詞是我們寫自定義指令的關(guān)鍵字,需要的朋友們下面跟著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。

前言

大家都知道在Vue中,我們平時(shí)數(shù)據(jù)驅(qū)動(dòng)視圖時(shí)候,內(nèi)部自帶的指令有時(shí)候解決不了一些需求,這時(shí)候,Vue給我們一個(gè)很好用的東東來(lái)實(shí)現(xiàn)自定義指令,這就是directive。下面話不多說(shuō)了,來(lái)一起看看詳細(xì)的介紹:

directive

這個(gè)單詞是我們寫自定義指令的關(guān)鍵字哦

自定義指令為我們提供了幾個(gè)鉤子函數(shù),這時(shí)候你一定好奇什么是鉤子函數(shù),說(shuō)簡(jiǎn)單點(diǎn),就是集中表現(xiàn)狀態(tài)

  • bind: 只調(diào)用一次,指令第一次綁定到元素時(shí)調(diào)用,用這個(gè)鉤子函數(shù)可以定義一個(gè)在綁定時(shí)執(zhí)行一次的初始化動(dòng)作。
  • inserted: 被綁定元素插入父節(jié)點(diǎn)時(shí)調(diào)用(父節(jié)點(diǎn)存在即可調(diào)用,不必存在于 document 中)。
  • update: 被綁定元素所在的模板更新時(shí)調(diào)用,而不論綁定值是否變化。通過(guò)比較更新前后的綁定值,可以忽略不必要的模板更新(詳細(xì)的鉤子函數(shù)參數(shù)見下)。
  • componentUpdated: 被綁定元素所在模板完成一次更新周期時(shí)調(diào)用。
  • unbind: 只調(diào)用一次, 指令與元素解綁時(shí)調(diào)用。

下面我們開始上代碼,讓我們更好的理解自定義指令怎么做

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>Document</title>
 <script src="https://unpkg.com/vue/dist/vue.js"></script>
</head>
<body>
 <div id="app">
 
 <div class="ab" v-css="{'color':'red','font-size':'30px'}">
 hello
 </div>
 <input type="text" v-focus>
 </div>
 
</body>
</html>

在html中,我們看到了兩個(gè)指令v-cssv-focus

我們自定義指令時(shí)候,一定前面要帶上v-

Vue.directive("css",{
 //鉤子函數(shù) ,el就是當(dāng)前元素
 inserted(el,binding){
 //el綁定的元素本身
 //binding就是css指令里面的的對(duì)象元素
 let styleobj=binding.value,arr=[];
 for(let key in styleobj){
  arr.push(key+":"+styleobj[key])
  }
 arr=arr.join(";");
 el.style.cssText=arr;
 },
 bind(el,binding) {
 //指令綁定在元素上時(shí)候執(zhí)行,只執(zhí)行一次
 }
});
 new Vue({
   el:'#app',
 data:{
  show:true
 },
 directives:{
 focus:{
  inserted(el,binding){
  //el綁定的元素本身
  //binding就是css指令里面的的對(duì)象元素
  el.focus();
  }
  }
 }
 });

在js里面我們可以看到

Vue.directive("css",{})

我們?cè)?new Vue外部定義了這樣一段代碼,這就是我們?nèi)肿远x指令的模板方式

  • css是自定義指令的名字
  • {}里面我們寫上鉤子函數(shù)就可以

我們所有的鉤子函數(shù)里面,基本都會(huì)有2個(gè)參數(shù)el,binding

  • el: 指令所綁定的元素,可以用來(lái)直接操作 DOM 。
  • binding 綁定元素本身的一個(gè)對(duì)象

從上面我們可以看到,binding里面保留綁定指令的name和value,這些很重要

局部自定義指令

directives:{
 name:{

 }
 }

區(qū)別在于,我們寫在new Vue里面,里面api操作和上面的全局自定義指令一樣

下面我們開始看代碼運(yùn)行結(jié)果

我們可以看到樣式引用上去了

文本框也獲取了焦點(diǎn)

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,如果有疑問大家可以留言交流,謝謝大家對(duì)腳本之家的支持。

相關(guān)文章

  • vue3中如何使用vue-types

    vue3中如何使用vue-types

    vue-types 在 Vue 3 中的使用主要適用于希望進(jìn)行更細(xì)致的 prop 驗(yàn)證的場(chǎng)景,尤其是在 JavaScript 項(xiàng)目中,這篇文章給大家介紹vue3中如何使用vue-types,感興趣的朋友跟隨小編一起看看吧
    2024-04-04
  • vue實(shí)現(xiàn)橫向斜切柱狀圖

    vue實(shí)現(xiàn)橫向斜切柱狀圖

    這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)橫向斜切柱狀圖,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • ant design 日期格式化的實(shí)現(xiàn)

    ant design 日期格式化的實(shí)現(xiàn)

    這篇文章主要介紹了ant design 日期格式化的實(shí)現(xiàn),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-10-10
  • vue中數(shù)據(jù)綁定值(字符串拼接)的幾種實(shí)現(xiàn)方法

    vue中數(shù)據(jù)綁定值(字符串拼接)的幾種實(shí)現(xiàn)方法

    這篇文章主要介紹了vue中數(shù)據(jù)綁定值(字符串拼接)的幾種實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • VUE中常用的四種高級(jí)方法總結(jié)

    VUE中常用的四種高級(jí)方法總結(jié)

    開發(fā)vue項(xiàng)目的時(shí)候一般都會(huì)開發(fā)很多自定義的全局組件,下面這篇文章主要給大家總結(jié)介紹了關(guān)于VUE中常用的四種高級(jí)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-05-05
  • vue元素樣式實(shí)現(xiàn)動(dòng)態(tài)改變方法介紹

    vue元素樣式實(shí)現(xiàn)動(dòng)態(tài)改變方法介紹

    vue通過(guò)js動(dòng)態(tài)修改元素的樣式,如果是固定的幾個(gè)樣式,我常用的是綁定元素的calss,給不同的class寫好需要的樣式,js控制是否使用這個(gè)class
    2022-09-09
  • Vue ​v-model相關(guān)知識(shí)總結(jié)

    Vue ​v-model相關(guān)知識(shí)總結(jié)

    這篇文章主要介紹了Vue &#8203;v-model相關(guān)知識(shí)總結(jié),幫助大家更好的理解和學(xué)習(xí)使用vue框架,感興趣的朋友可以了解下
    2021-01-01
  • vue項(xiàng)目中進(jìn)行svg組件封裝及配置方法步驟

    vue項(xiàng)目中進(jìn)行svg組件封裝及配置方法步驟

    本文主要介紹了vue項(xiàng)目中進(jìn)行svg組件封裝及配置方法步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • 使用Vue實(shí)現(xiàn)帶拖動(dòng)和播放功能的時(shí)間軸

    使用Vue實(shí)現(xiàn)帶拖動(dòng)和播放功能的時(shí)間軸

    這篇文章主要為大家詳細(xì)介紹了如何使用Vue實(shí)現(xiàn)帶拖動(dòng)和播放功能的時(shí)間軸,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-03-03
  • 詳解Vue.js中引入圖片路徑的幾種方式

    詳解Vue.js中引入圖片路徑的幾種方式

    這篇文章主要介紹了Vue.js中引入圖片路徑的幾種方式,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06

最新評(píng)論