vue 使用自定義指令設定元素的絕對位置

2021-10-09 01:29:10 字數 771 閱讀 2084

需求:需要根據後台的位置資料,設定元素在頁面的絕對位置,即確定元素的left和top值

解決方法,一開始想到使用計算屬性,但是不能傳遞具體元素的位置;所以使用自定義指令

指令?即像v-model,v-if等語句,指令可以對dom元素進行操作

自定義指令,即自己定義乙個指令,用來處理dom的結構屬性

怎麼自定義?來自vue官網的的說明

// 註冊乙個全域性自定義指令 `v-focus`

vue.directive('focus',

})

//區域性自定義指令,在元件中定義,與metods同級別

directives:

}}

怎麼使用?很簡單在任何需要使用的元素上使用,就像使用v-model一樣

乙個指令定義物件可以提供如下幾個鉤子函式 (均為可選):

指令鉤子函式會被傳入以下引數:

oldvnode:上乙個虛擬節點,僅在updatecomponentupdated鉤子中可用。

除了el之外,其它引數都應該是唯讀的,切勿進行修改。如果需要在鉤子之間共享資料,建議通過元素的dataset來進行。

}

例子中傳了多個值,如果只需要傳乙個值

v-test="text"

指令定義中通過binding.value取值

vue 自定義指令的使用

在vue開發專案中,指令的使用場景也是比較多的,那麼該如何定義使用呢?找到 src directive 下新建 gender 目錄,下面新建 index.js 和 gender.js gender 使用方法 1 gender.install install export default gender...

Vue自定義指令

vue有很多內建的指令,比如說v on,v model,v clock等等,每乙個指令會完成一定的功能,但是這些內建的指令總會有些侷限性,要是能夠自定義指令就好了 vue的自定義指令分類 全域性指令和區域性指令 vue指令的定義和用法 以全域性指令為例 1.語法 vue.directive 指令id...

vue自定義指令

自定義指令主要有兩種方式。一是在元件裡以directives的選項來自定義指令的內容。這樣的自定義指令是區域性的自定義指令,只在當前的元件裡面才能使用。script export default directives arr arr.join el.style.csstext arr script ...