Vue.js路由管理與自定義指令深度剖析

Vue.js 是一個強大的前端框架,提供了豐富的功能來幫助開發者構建復雜的單頁應用(SPA)。本文將詳細介紹 Vue.js 中的自定義指令和路由管理及導航守衛。通過這些功能,你可以更好地控制視圖行為和應用導航,從而提升用戶體驗和開發效率。

1 自定義指令詳解

1.1 什么是自定義指令?

自定義指令是 Vue.js 提供的一種機制,允許你在 DOM 元素上綁定特定的行為。自定義指令可以用來操作 DOM、處理事件、設置樣式等。

1.2 創建自定義指令

在 Vue 中,可以通過全局或局部的方式創建自定義指令。

1.2.1 全局指令

全局指令可以在整個應用中使用。

Vue.directive('focus', {// 當被綁定的元素插入到 DOM 中時調用inserted(el) {el.focus();}
});

1.2.2 局部指令

局部指令只能在當前組件中使用。

export default {directives: {focus: {inserted(el) {el.focus();}}}
};

1.3 指令鉤子函數

指令對象可以提供幾個鉤子函數,用于在不同階段執行不同的邏輯。

  • bind: 只調用一次,指令第一次綁定到元素時調用。
  • inserted: 被綁定元素插入父節點時調用(僅保證父節點存在,但不一定已被插入文檔中)。
  • update: 所在組件的 VNode 更新時調用。
  • componentUpdated: 指令所在組件的 VNode 及其子 VNode 全部更新后調用。
  • unbind: 只調用一次,指令與元素解綁時調用。

示例:完整的自定義指令

Vue.directive('highlight', {bind(el, binding, vnode) {el.style.backgroundColor = binding.value;},update(el, binding) {el.style.backgroundColor = binding.value;},unbind(el) {el.style.backgroundColor = '';}
});// 使用
<template><div v-highlight="'yellow'">This is a highlighted text.</div>
</template>

1.4 指令參數

自定義指令還可以接受參數,以便更靈活地控制行為。

Vue.directive('pin', {bind(el, binding) {el.style.position = 'fixed';el.style[binding.arg] = binding.value + 'px';}
});// 使用
<template><div v-pin.right="100" v-pin.top="50">Pinned Element</div>
</template>

1.5 動態指令

自定義指令也可以接收動態值。

<template><div v-highlight:[dynamicValue]="color">Dynamic Highlight</div>
</</

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

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

相關文章

Maya軟件安裝步驟與百度網盤鏈接

軟件簡介&#xff1a; MAYA軟件是Autodesk旗下的著名三維建模和動畫軟件。maya軟件功能更為強大&#xff0c;體系更為完善&#xff0c;因此國內很多的三維動畫制作人員都開始轉向maya&#xff0c;maya軟件已成為三維動畫軟件的主流。 百度網盤鏈接: https://pan.baidu.com/s…

kamailio的部分模塊的解釋及代碼示例【文章由DeekSeek大模型提供】

以下是 Kamailio 中這些模塊的詳細說明及示例代碼&#xff1a; 1. tls.so 作用&#xff1a;提供 TLS 支持&#xff0c;用于加密 SIP 通信。示例&#xff1a;loadmodule "tls.so" modparam("tls", "certificate", "/etc/kamailio/tls/serve…

深入理解linux中的文件(上)

1.前置知識&#xff1a; &#xff08;1&#xff09;文章 內容 屬性 &#xff08;2&#xff09;訪問文件之前&#xff0c;都必須打開它&#xff08;打開文件&#xff0c;等價于把文件加載到內存中&#xff09; 如果不打開文件&#xff0c;文件就在磁盤中 &#xff08;3&…

一個用于測試的 HL7 Server

說明 一個用于測試的 HL7 Server。在過NIST的認證時&#xff0c;需要演示檢驗數據通過HL7進行傳輸&#xff0c;所以寫了這工具。 HL7的消息解析和編碼使用了NHapi。包含兩個服務&#xff1a; ReceiveServiceSendService 這2個服務都繼承自 BaseService public class BaseSe…

使用 Go 和 gqlgen 實現 GraphQL API:實戰指南

使用 Go 和 gqlgen 實現 GraphQL API&#xff1a;實戰指南 在本文中&#xff0c;我將分享如何使用 Go 語言和 gqlgen 框架實現一個完整的 GraphQL API。我們將構建一個包含用戶、文章和評論功能的博客系統 API。 技術棧 Gogqlgen (GraphQL 框架)MySQL (數據存儲)Redis (緩存…

matlab快速入門(2)-- 數據處理與可視化

MATLAB的數據處理 1. 數據導入與導出 (1) 從文件讀取數據 Excel 文件&#xff1a;data readtable(data.xlsx); % 讀取為表格&#xff08;Table&#xff09;CSV 文件&#xff1a;data readtable(data.csv); % 自動處理表頭和分隔符文本文件&#xff1a;data load(data.t…

洛谷題目 P5994 [PA 2014] Kuglarz 題解 (本題較難)

題目傳送門&#xff1a; P5994 [PA 2014] Kuglarz - 洛谷 | 計算機科學教育新生態 (luogu.com.cn) 前言&#xff1a; 本題涉及到最小生成樹中的 kruskal 算法和并查集算法&#xff0c;圖論基礎概念兩大知識點&#xff0c;瞎按對萊索沒有學過圖論的或最小生成樹的可能會對這道…

消息隊列篇--通信協議篇--網絡通信模型(OSI7層參考模型,TCP/IP分層模型)

一、OSI參考模型&#xff08;Open Systems Interconnection Model&#xff09; OSI參考模型是一個用于描述和標準化網絡通信功能的七層框架。它由國際標準化組織&#xff08;ISO&#xff09;提出&#xff0c;旨在為不同的網絡設備和協議提供一個通用的語言和結構&#xff0c;以…

C# Winform制作一個登錄系統

using System; using System.Collections; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms;namespace 登錄 {p…

10.7 LangChain Models深度解析:解鎖大模型集成與調優的全景攻略

LangChain Models深度解析:解鎖大模型集成與調優的全景攻略 關鍵詞: LangChain Models模塊、大模型集成、LLM調用優化、多模型管理、本地模型部署 一、Models模塊的定位:大模型應用的“中央調度器” 傳統開發的痛點: 碎片化集成:每個模型需單獨編寫適配代碼性能黑洞:缺…

記一次STM32編譯生成BIN文件過大的問題(基于STM32CubeIDE)

文章目錄 問題描述解決方法更多拓展 問題描述 最近在一個項目中使用了 STM32H743 單片機&#xff08;基于 STM32CubeIDE GCC 開發&#xff09;&#xff0c;它的內存分為了 DTCMRAM RAM_D1 RAM_D2 …等很多部分。其中 DTCM 的速度是比通常的內存要快的&#xff0c;缺點是不支持…

996引擎 -地圖-添加安全區

996引擎 -地圖-添加安全區 文件位置配置 cfg_startpoint.xls特效效果1345參考資料文件位置 文件位置服務端D:\996M2-lua\MirServer-lua\Mir200客戶端D:\996M2-lua\996M2_debug\dev配置 cfg_startpoint.xls 服務端\Mir200\Envir\DATA\cfg_startpoint.xls 填歪了也有可能只畫一…

【leetcode強化練習·二叉樹】同時運用兩種思維解題

本文參考labuladong算法筆記[【強化練習】同時運用兩種思維解題 | labuladong 的算法筆記] 有的題目可以同時用「遍歷」和「分解問題」兩種思路來解&#xff0c;你可以利用這些題目訓練自己的思維。 559. N 叉樹的最大深度 | 力扣 | LeetCode | 給定一個 N 叉樹&#xff0c;…

棧和隊列特別篇:棧和隊列的經典算法問題

圖均為手繪,代碼基于vs2022實現 系列文章目錄 數據結構初探: 順序表 數據結構初探:鏈表之單鏈表篇 數據結構初探:鏈表之雙向鏈表篇 鏈表特別篇:鏈表經典算法問題 數據結構:棧篇 數據結構:隊列篇 文章目錄 系列文章目錄前言一.有效的括號(leetcode 20)二.用隊列實現棧(leetcode…

ios swift畫中畫技術嘗試

繼上篇&#xff1a;iOS swift 后臺運行應用嘗試失敗-CSDN博客 為什么想到畫中畫&#xff0c;起初是看到后臺模式里有一個picture in picture&#xff0c;去了解了后發現這個就是小窗口視頻播放&#xff0c;方便用戶執行多任務。看小窗口視頻的同時&#xff0c;可以作其他的事情…

OpenAI推出o3-mini推理模型,首次免費開放,性能超越o1,AIME測試準確率高達87.3%

OpenAI在2025年初推出了一款新的推理模型o3-mini&#xff0c;這款模型標志著公司在提升性能的同時也降低了成本&#xff0c;并且首次向免費用戶提供訪問權限。o3-mini是OpenAI推理系列中最新、最具成本效益的模型&#xff0c;在科學、數學、編程等領域的性能顯著超越了之前的o1…

人生不止于職業發展

0 你的問題&#xff0c;我知道&#xff01; 工作意義是啥&#xff1f;職業發展在人生啥角色&#xff1f; 1 工作意義 農村人努力學習考上大學&#xff0c;得好工作&#xff0c;為逃離同村同齡人十幾歲就工廠打工命運&#xff0c;過不凡人生&#xff0c;實現改命的唯一途徑。…

【算法設計與分析】實驗3:動態規劃—最長公共子序列

目錄 一、實驗目的 二、實驗環境 三、實驗內容 四、核心代碼 五、記錄與處理 六、思考與總結 七、完整報告和成果文件提取鏈接 一、實驗目的 掌握動態規劃求解問題的思想&#xff1b;針對不同的問題&#xff0c;會利用動態規劃進行設計求解以及時間復雜度分析&#xff0…

動手學圖神經網絡(3):利用圖神經網絡進行節點分類 從理論到實踐

利用圖神經網絡進行節點分類:從理論到實踐 前言 在之前的學習中,大家對圖神經網絡有了初步的了解。本次教程將深入探討如何運用圖神經網絡(GNNs)來解決節點分類問題。在節點分類任務里,大家往往僅掌握少量節點的真實標簽,卻要推斷出其余所有節點的標簽,這屬于歸納式學…

單片機串口打印printf函數顯示內容(固件庫開發)

1.hal_usart.c 文件 #include <stdio.h> #include "hal_usart.h" #include "stm32F10x.h"//**要根據 使用的是哪個串口 對應修改 串口號 eg&#xff1a;USART1** void USART_PUTC(char ch) {/* 等待數據寄存器為空 */while((USART1->SR & …