Vue-自定義指令

自定義指令

簡單寫法

v-twoAge

功能: 當前年齡翻倍
注意:指令方法名稱 小寫

  • 代碼
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8" /><title>自定義指令</title><!--  引入Vue  --><script type="text/javascript" src="../js/vue.js"></script><script type="text/javascript" src="../js/dayjs.min.js"></script><style>.base {padding: 5px;height: 100px;}</style></head><body><div id="root"><h1>自定義指令</h1><div><h2>年齡:<span v-text="age"></span></h2><button @click="addAge">age+1</button><h2>年齡x2:<span v-twoAge="age"></span></h2></div></div></body><script type="text/javascript">Vue.config.productionTip = false; // 阻止vue在啟動是生成生產提示const vm = new Vue({el: "#root",data: {name: "Vue 扛把子",age:18},methods: {addAge(){this.age++;}},directives:{/**指令函數調用時機1. 指令與元素成功綁定時(初始化)2. 指令所在的模板被重新解析時*/twoage(element,bindObj){console.log(element)console.log(bindObj)/**1. element: 是HtmlElement,dom對象2. bindObj:綁定對象 v-twoAge 指令的值、名稱等*/element.innerText = bindObj.value * 2}}});</script>
</html>
  • 效果

在這里插入圖片描述

標準寫法

v-focus-input

功能: input 框內 展示當前年齡且聚焦
注意:指令方法名稱 小寫 或者 加引號
格式:‘filterName’:{bind(e,b){},inserted(e,b)(),update(e,b){}}

  • bind:指令與元素成功綁定時調用
  • inserted:指令所在元素被插入頁面時調用
  • update:指令所在的模板被重新解析時調用
  • 代碼
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8" /><title>自定義指令</title><!--  引入Vue  --><script type="text/javascript" src="../js/vue.js"></script><script type="text/javascript" src="../js/dayjs.min.js"></script><style>.base {padding: 5px;height: 100px;}</style></head><body><div id="root"><h1>自定義指令</h1><h2>年齡:<span v-text="age"></span></h2><button @click="addAge">age+1</button><h2>年齡x2:<span v-two-age="age"></span></h2><br><input type="text" v-focos-input:value="age"></div></body><script type="text/javascript">Vue.config.productionTip = false; // 阻止vue在啟動是生成生產提示const vm = new Vue({el: "#root",data: {name: "Vue 扛把子",age:18},methods: {addAge(){this.age++;}},directives:{/**指令函數調用時機1. 指令與元素成功綁定時(初始化)2. 指令所在的模板被重新解析時*/'two-age'(element,bindObj){console.log(element)console.log(bindObj)/**1. element: 是HtmlElement,dom對象2. bindObj:綁定對象 v-twoAge 指令的表達式、名稱、值等*/element.innerText = bindObj.value * 2},'focos-input':{// 指令與元素成功綁定時bind(element,bindObj){console.log("bind")element.value = bindObj.value},// 指令所在元素被插入頁面時inserted(element,bindObj){console.log("inserted")// 操作dom插入后的一些操作element.focus(); // input聚焦},// 指令所在的模板被重新解析時update(element,bindObj) {console.log('update')element.value = bindObj.valueelement.focus(); // input聚焦}},}});</script>
</html>
  • 效果

在這里插入圖片描述

全局指令

格式:

  • Vue.directive(‘filterName’,function(e,b){})
  • Vue.directive(‘filterName’,{bind(e,b){},inserted(e,b)(),update(e,b){}})
    注意:全局過濾器聲明必須在Vue實例化之前
  • 代碼
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8" /><title>自定義指令</title><!--  引入Vue  --><script type="text/javascript" src="../js/vue.js"></script><script type="text/javascript" src="../js/dayjs.min.js"></script><style>.base {padding: 5px;height: 100px;}</style></head><body><div id="root"><h1>自定義指令</h1><h2>年齡:<span v-text="age"></span></h2><button @click="addAge">age+1</button><h2>年齡x2:<span v-two-age="age"></span></h2><br><input type="text" v-focos-input:value="age"></div></body><script type="text/javascript">Vue.config.productionTip = false; // 阻止vue在啟動是生成生產提示Vue.directive('two-age', function(element,bindObj){console.log(element)console.log(bindObj)/**1. element: 是HtmlElement,dom對象2. bindObj:綁定對象 v-twoAge 指令的表達式、名稱、值等*/element.innerText = bindObj.value * 2});Vue.directive('focos-input',{// 指令與元素成功綁定時bind(element,bindObj){console.log("bind")element.value = bindObj.value},// 指令所在元素被插入頁面時inserted(element,bindObj){console.log("inserted")// 操作dom插入后的一些操作element.focus(); // input聚焦},// 指令所在的模板被重新解析時update(element,bindObj) {console.log('updated')element.value = bindObj.valueelement.focus(); // input聚焦}});const vm = new Vue({el: "#root",data: {name: "Vue 扛把子",age:18},methods: {addAge(){this.age++;}},directives:{/**指令函數調用時機1. 指令與元素成功綁定時(初始化)2. 指令所在的模板被重新解析時*/// 'two-age'(element,bindObj){//   console.log(element)//   console.log(bindObj)//   /**//     1. element: 是HtmlElement,dom對象//     2. bindObj:綁定對象 v-twoAge 指令的表達式、名稱、值等//   *///   element.innerText = bindObj.value * 2// },// 'focos-input':{//   // 指令與元素成功綁定時//   bind(element,bindObj){//     console.log("bind")//     element.value = bindObj.value//   },//   // 指令所在元素被插入頁面時//   inserted(element,bindObj){//     console.log("inserted")//     // 操作dom插入后的一些操作//     element.focus(); // input聚焦//   },//   // 指令所在的模板被重新解析時//   update(element,bindObj) {//     console.log('updated')//     element.value = bindObj.value//     element.focus(); // input聚焦//   }// },}});</script>
</html>
  • 效果

在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/82076.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/82076.shtml
英文地址,請注明出處:http://en.pswp.cn/web/82076.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Kotlin 中的數據類型有隱式轉換嗎?為什么?

在 Kotlin 中&#xff0c;基本數據類型沒有隱式轉換。主要出于安全性和明確性的考慮。 1 Kotlin 的顯式類型轉換規則 Kotlin 要求開發者顯式調用轉換函數進行類型轉換&#xff0c; 例如&#xff1a; val a: Int 10 val b: Long a.toLong() // 必須顯式調用 toLong() // 錯…

Android獲取設備信息

使用java: List<TableMessage> dataListnew ArrayList<TableMessage>();//獲取設備信息Hashtable<String,String> ht MyDeviceInfo.getDeviceAllInfo2(LoginActivity.this);for (Map.Entry<String, String> entry : ht.entrySet()) {String key entry…

WIN11使用vscode搭建c語言開發環境

安裝 VS Code 下載地址: Visual Studio Code - Code Editing. Redefined 安裝時勾選 "添加到 PATH"&#xff08;方便在終端中調用 code 命令 下載 MSYS2 官網&#xff1a;MSYS2 下載 msys2-x86_64-xxxx.exe&#xff08;64位版本&#xff09;并安裝。 默認安裝路徑…

微信小程序帶數組參數跳轉頁面,微信小程序跳轉頁面帶數組參數

在微信小程序中&#xff0c;帶數組參數跳轉頁面需要通過JSON序列化和URL編碼處理&#xff0c;以下是具體實現方法 傳遞數組參數?&#xff08;發送頁面&#xff09; wx.navigateTo({url: /pages/targetPage?arr encodeURIComponent(JSON.stringify(yourArray)) });接收數組參…

Mac M1編譯OpenCV獲取libopencv_java490.dylib文件

Window OpenCV下載地址 https://opencv.org/releases/OpenCV源碼下載 https://github.com/opencv/opencv/tree/4.9.0 https://github.com/opencv/opencv_contrib/tree/4.9.0OpenCV依賴 brew install libjpeg libpng libtiff cmake3 ant freetype構建open CV cmake -G Ninja…

前端面試準備-3

1.let、const、var的區別 ①&#xff1a;let和const為塊級作用域&#xff0c;var為全局作用域 ②&#xff1a;let和var可以重新賦值定義&#xff0c;而const不可以 ③&#xff1a;var會提升到作用域頂部&#xff0c;但不會初始化&#xff1b;let和const也會提升到作用不頂部…

Java 中 Lock 接口詳解:靈活強大的線程同步機制

在 Java 中&#xff0c;Lock 是一個接口&#xff0c;它提供了比 synchronized 關鍵字更靈活、更強大的線程同步機制。以下將詳細介紹 Lock 接口及其實現類&#xff0c;以及它與 synchronized 相比的優點。 Lock 接口及其實現類介紹 Lock 接口 Lock 接口定義了一系列用于獲取…

實驗分享|基于sCMOS相機科學成像技術的耐高溫航空涂層材料損傷檢測實驗

1實驗背景 航空發動機外殼的耐高溫涂層材料在長期高溫、高壓工況下易產生微小損傷與裂紋&#xff0c;可能導致嚴重安全隱患。傳統光學檢測手段受限于分辨率與靈敏度&#xff0c;難以捕捉微米級缺陷&#xff0c;且檢測效率低下。 某高校航空材料實驗室&#xff0c;采用科學相機…

python訓練營day40

知識點回顧&#xff1a; 彩色和灰度圖片測試和訓練的規范寫法&#xff1a;封裝在函數中展平操作&#xff1a;除第一個維度batchsize外全部展平dropout操作&#xff1a;訓練階段隨機丟棄神經元&#xff0c;測試階段eval模式關閉dropout 作業&#xff1a;仔細學習下測試和訓練代碼…

Baklib企業CMS全流程管控與智能協作

企業CMS全流程管控方案解析 現代企業內容管理中&#xff0c;全流程管控的實現依賴于對生產、審核、發布及迭代環節的系統化整合。通過動態發布引擎與元數據智能標記技術&#xff0c;系統可自動匹配內容與目標場景&#xff0c;實現標準化模板驅動的快速部署。針對多分支機構的復…

Qt程序添加調試輸出窗口:CONFIG += console

目錄 1.背景 2.解決方案 3.原理詳解 4.控制臺窗口的行為 5.條件編譯&#xff08;僅調試模式顯示控制臺&#xff09; 6.替代方案 7.總結 1.背景 在Qt程序開發中&#xff0c;開發者經常遇到這樣的困擾&#xff1a; 開發機上程序運行正常 發布到其他機器后程序無法啟動 …

《江西棒球資訊》棒球運動發展·棒球1號位

聯賽體系結構 | League Structure MLB模式 MLB采用分層體系&#xff08;大聯盟、小聯盟&#xff09;&#xff0c;強調梯隊建設和長期發展。 MLB operates a tiered system (Major League, Minor League) with a focus on talent pipelines and long-term development. 中國現…

Python爬蟲實戰:研究Tornado框架相關技術

1. 引言 1.1 研究背景與意義 網絡爬蟲作為一種自動獲取互聯網信息的程序,在信息檢索、數據挖掘、輿情分析等領域有著廣泛的應用。隨著互聯網數據量的爆炸式增長,對爬蟲的性能和效率提出了更高的要求。傳統的同步爬蟲在處理大量 URL 時效率低下,而異步爬蟲可以顯著提高并發…

Vue-列表過濾排序

列表過濾 基礎環境 數據 persons: [{ id: "001", name: "劉德華", age: 19 },{ id: "002", name: "馬德華", age: 20 },{ id: "003", name: "李小龍", age: 21 },{ id: "004", name: "釋小龍&q…

JDK21深度解密 Day 9:響應式編程模型重構

【JDK21深度解密 Day 9】響應式編程模型重構 引言&#xff1a;從Reactor到虛擬線程的范式轉變 在JDK21中&#xff0c;虛擬線程的引入徹底改變了傳統的異步編程模型。作為"JDK21深度解密"系列的第91天&#xff0c;我們將聚焦于響應式編程模型重構這一關鍵主題。通過…

UE5打包項目設置Project Settings(打包widows exe安裝包)

UE5打包項目Project Settings Edit-Project Settings- Packaging-Ini Section Denylist-Advanced 1&#xff1a;打包 2&#xff1a;高級設置 3&#xff1a;勾選創建壓縮包 4&#xff1a;添加要打包地圖Map的數量 5&#xff1a;選擇要打包的地圖Maps 6&#xff1a;Project-Bui…

Fastapi 學習使用

Fastapi 學習使用 Fastapi 可以用來快速搭建 Web 應用來進行接口的搭建。 參考文章&#xff1a;https://blog.csdn.net/liudadaxuexi/article/details/141062582 參考文章&#xff1a;https://blog.csdn.net/jcgeneral/article/details/146505880 參考文章&#xff1a;http…

java helloWord java程序運行機制 用idea創建一個java項目 標識符 關鍵字 數據類型 字節

HelloWord public class Hello{public static void main(String[] args) {System.out.print("Hello,World!");} }java程序運行機制 用idea創建一個java項目 建立一個空項目 新建一個module 注釋 標識符 關鍵字 標識符注意點 數據類型 public class Demo02 {public st…

隨機響應噪聲-極大似然估計

一、核心原因&#xff1a;噪聲機制的數學可逆性 在隨機響應機制&#xff08;Randomized Response&#xff09;中使用極大似然估計&#xff08;Maximum Likelihood Estimation, MLE&#xff09;是為了從擾動后的噪聲數據中無偏地還原原始數據的統計特性。隨機響應通過已知概率的…

SMT貼片機工藝優化與效率提升策略

內容概要 現代電子制造領域中&#xff0c;SMT貼片機作為核心生產設備&#xff0c;其工藝優化與效率提升直接影響企業競爭力。本文聚焦設備參數校準、吸嘴選型匹配、SPI檢測技術三大技術模塊&#xff0c;結合生產流程重構與設備維護周期優化兩大管理維度&#xff0c;形成系統性…