vue.js 是數(shù)據(jù)綁定的框架,大部分情況下我們都不需要直接操作 DOM Element,但在某些時候,我們還是有獲取DOM Element的需求的;
在 vue.js 中,獲取某個DOM Element常用的方法是將這個元素改成一個組件 (component),然后通過 this.$el
去獲取,但是在一些很小的項目里,在一些沒有使用 webpack 等構(gòu)建工具的項目中,創(chuàng)建一個組件并不是那么值得,所以 vue 提供了另一種操作DOM元素的方式,就是自定義指令 (directive) ;
自定義指令功能在DOM Element的生命周期內(nèi)提供了不同的鉤子函數(shù),并允許我們監(jiān)聽指令綁定的數(shù)據(jù)的變化,但是它也是有缺點的,就是在指令的鉤子函數(shù)內(nèi)無法通過 this
來訪問當(dāng)前 vue 實例,也就無法進(jìn)一步進(jìn)行復(fù)雜的操作(雖然一般不需要什么復(fù)雜的操作),在 vue 的鉤子函數(shù) (lifecycle hook) 和方法 (method) 中也無法像 this.$el
那樣輕易的訪問到自定義指令綁定的DOM元素;
不過只要通過一點點變通的做法,就可以突破這個限制:
HTML代碼:
<div id="app"> <span class='test' v-run="register('test1')"></span> <p class='test' v-run="register('test2')"></p> </div>
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動安全 [無線安全]玩轉(zhuǎn)無線電——不安全的藍(lán)牙鎖 2017-07-26
- 消息隊列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標(biāo)分割】 2017-07-26
- 詞向量-LRWE模型-更好地識別反義詞同義詞 2017-07-26
- 從棧不平衡問題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解 2017-07-26
- 阿里移動安全 Android端惡意鎖屏勒索應(yīng)用分析 2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來看看(二) 2017-07-26