欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

Vue的土著指令和自定義指令實例詳解

1.土著指令

成都創(chuàng)新互聯(lián)公司主營烈山網(wǎng)站建設的網(wǎng)絡公司,主營網(wǎng)站建設方案,app軟件定制開發(fā),烈山h5微信小程序定制開發(fā)搭建,烈山網(wǎng)站營銷推廣歡迎烈山等地區(qū)企業(yè)咨詢

當我開始學習Vue的時候,看官網(wǎng)的時候看到了“指令”兩個字。我愣住了,what?指令是啥???后來繼續(xù)往下看,像這種什么“v-for”“v-show”“v-if”都叫做指令。等到后來Vue玩的差不多了,開始寫項目的時候發(fā)現(xiàn),常見的指令也就那么幾個,比如“v-if”“v-show”“v-model”“v-for”“v-bind”“v-on”。

你可以認為這是一種語法糖或者這是一種命令。在常見的這些指令中,大體的使用方法如下:

1.v-text :string  用法:更新元素的textContent,更新部分的textContent,需要使用{{Mustache}}插值。

2.v-show:any 用法:根據(jù)表達式真假值,切換元素的 display css 屬性 。

3.v-if:any  用法:表達式的真假條件渲染元素。在切換時元素以及它的數(shù)據(jù)綁定/組件被銷毀并且重建。如果是<template>,并提出它的內容作為條件塊。 條件變化時改指令出發(fā)過渡效果。

4.v-for :Array | Object | number | string  用法:基于源數(shù)據(jù)多次渲染元素或者模板塊 語法:alias in expression。

5.v-on:Function |  Inline Statement  參數(shù) $event( required) 修飾符?!?/p>

6.v-bind:any 類型: any (with argument)  | Object  (without argument) 參數(shù):attrOrProp (optional) ;修飾符: .prop ---被用于綁定DOM 屬性;.camel ---transform the kebab-case attribute name into camelCase .(supported since 2.1.0) 用法: 在綁定 class 和 style 特性時,支持其它類型的值。如對象和數(shù)組;在綁定prop時,子組件必須聲明prop。

7.v-model :限制<input> <select> components 。

2.自定義指令

但是,僅僅靠上面的這些有時候是不夠的,比如最近我司做的一個項目中,UI做了一個頁面。然后我和UI在聊需求的時候,我說這個輸入框吧最好給他加一個效果,彈出輸入框的時候獲得焦點,顯示一個跳動的光標。這樣用戶可以更清楚的看到在哪輸入。

Vue的土著指令和自定義指令實例詳解

達成共識之后,寫功能的時候我突然發(fā)現(xiàn),WTF?我這是用的Vue啊,數(shù)據(jù)驅動視圖啊,總不能document.getElementById(inputid).focus()吧。

于是乎,我就去找文檔,突然發(fā)現(xiàn)了一個單詞directive,我去查了查這個單詞的意思:

Vue的土著指令和自定義指令實例詳解

看了一下文檔,大體意思就是,雖然吧這個v-model和v-show已經(jīng)很好用了,但是總是擋不住天馬行空的前端人員的騷操作,所以在有的情況下,需要對普通 DOM 元素進行底層操作,這時候就會用到自定義指令。當然呢,官方的例子就是我需要的這個,當即我就get了一波新知識。

Vue的土著指令和自定義指令實例詳解

如同我隨手寫下的這個HTML,里面有一個v-focus,大概沒見過,這是啥?別急,繼續(xù)往下看:

Vue的土著指令和自定義指令實例詳解

沒錯,這個v-focus就是我自己定義的指令,當然啦,你也可以用除了關鍵字之外的單詞去命名,方便自由。

我們來看一下這個自定義指令,相信大家對下面的這部分都明白,無非就是如果value的值等同于true,那么el就focus即獲得焦點。

那個前面的update什么意思呢?update是更新的意思,這是一個鉤子函數(shù),即focusState更新時調用function,在調用函數(shù)時,繼續(xù)判斷focusState——如果真,則獲得焦點;為假,一邊涼快去吧。同樣,我們在查看官方文檔的時候,就會發(fā)現(xiàn),同樣的鉤子函數(shù)還有:

•bind:只調用一次,指令第一次綁定到元素時調用。在這里可以進行一次性的初始化設置。

•inserted:被綁定元素插入父節(jié)點時調用 (僅保證父節(jié)點存在,但不一定已被插入文檔中)。

•update:所在組件的 VNode 更新時調用,但是可能發(fā)生在其子 VNode 更新之前。指令的值可能發(fā)生了改變,也可能沒有。但是你可以通過比較更新前后的值來忽略不必要的模板更新。

•componentUpdated:指令所在組件的 VNode 及其子 VNode 全部更新后調用。

•unbind:只調用一次,指令與元素解綁時調用。

利用這些操作,我們可以完成很多比較騷的套路,比如可以在加載大的圖片時,可以先用純色占位,當圖片加載完成后才直接渲染出來。例如下圖:

Vue的土著指令和自定義指令實例詳解

在這個例子中,我們調用的鉤子函數(shù)是inserted,即插入父節(jié)點后觸發(fā)。當圖片還未加載好時,先用隨機的顏色代替,等圖片加載好之后,去掉背景色,替換成圖片。

我們在此處傳入的參數(shù)為el----當前的dom節(jié)點和binding-----一個對象,包含以下屬性:

•def:鉤子函數(shù)。

•rawName:指令的名稱。

•value:向指令傳入的值

Vue的土著指令和自定義指令實例詳解

同樣,我們也可以封裝多種已經(jīng)造好的輪子為自定義指令。畢竟,我們站在巨人的肩膀上才會看的更遠,走的更遠。

網(wǎng)頁題目:Vue的土著指令和自定義指令實例詳解
網(wǎng)頁網(wǎng)址:http://aaarwkj.com/article34/igshpe.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供服務器托管、企業(yè)建站、小程序開發(fā)、網(wǎng)站導航關鍵詞優(yōu)化、網(wǎng)站排名

廣告

聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁設計
精品视频一区二区三区在线观看 | 久久伊人69日韩精品| 午夜男女激情在线观看| 亚洲精品一区二区三区高潮| 最新日本免费久久精品| 日本在线电影一区二区三区| 国产大学生情侣在线视频| 蜜桃精品国产一区二区三区| 尤物欧美精品一区二区三区 | 雪白肥臀视频一区二区三区| 长腿丝袜美女亚洲一区二区| 国产一级夫妻性生活欧美| 亚洲一区二区三区香蕉不卡| 欧美一区二区国产精品日韩| 精品午夜人妻一区二区| 国产在线一区二区三区观看| 一起草视频在线观看视频| 亚洲激情欧美激情在线| 裸体性做爰免费视频网站| 欧美夫妻成人性生活视频| 欧美国内日本一区二区| 精品亚洲国产一区二区三区| 我想看亚洲一级黄色录像| 亚洲欧美精品一区二区三区| 日本免费一区二区三区四区视频| 欧美激情网页一区三区| 青青草最新网址在线观看视频| 91中文字幕国产日韩| 中文字幕日韩人妻一二三区| 91桃色午夜福利视频| 欧美日韩国产综合精品亚洲| 精品国产熟女成人av| 成年女人大片免费观看版| 亚洲福利一区二区三区| 国内精品av在线观看| 久久精品女人天堂av免费观看 | 国产午夜精品自拍视频| 欧美美女福利午夜视频| 欧美日韩欧美国产精品| 日本午夜免费在线视频| 国产精品xxxx国产精品|