前端基礎之《Vue(12)—插件封裝》

一、插件封裝

1、在Vue生態中,除了Vue本身,其它所有的與Vue相關的第三方包,都是插件
例子:

import VueRouter form 'vue-router'
Vue.use(VueRouter) // 注冊插件

2、如何封裝Vue插件
(1)第一種寫法
const Plugin = { install (Vue) { //do something} }
(2)第二種寫法
const Plugin = function (Vue) {}

3、如何使用插件
Vue.use(Plugin)
調用插件上的install方法,并傳入Vue實參。

4、插件的作用
插件是一種更加高級的代碼復用技術,可以以插件的方式為我們提供可復用的組件、混入、指令、過濾器、原型鏈API等等。

二、例子代碼

<html>
<head><title>插件封裝</title><style></style>
</head>
<body><div id="app"><my-button></my-button><h1>{{ "99.1" | rmb }}</h1><h1 v-color='"red"'>測試</h1></div><script src="https://cdn.jsdelivr.net/npm/vue@2.7.16/dist/vue.js"></script><script>const MyPlugin = {install: function(Vue) {// 插件中可以全局混入Vue.mixin({data() {return {version: 'v2'}}})// 插件中可以定義全局組件Vue.component('my-button', {template: `<div>我的按鈕</div>`})// 插件中可以定義全局過濾器Vue.filter('rmb', val=>('¥'+val))// 插件中可以定義全局指令Vue.directive('color', function(el,binding){el.style.color = binding.value})// 插件中可以操作Vue的原型鏈Vue.prototype.$ajax = function(url,method,data) {console.log('---調接口')}}}Vue.use(MyPlugin)const app = new Vue({mounted() {console.log('---version', this.version)console.log('---$ajax', this.$ajax)}})app.$mount('#app')</script></body>
</html>

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

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

相關文章

TCP基礎題:音樂播放列表管理系統

需求描述 服務器端 創建一個 TCP 服務器&#xff0c;監聽本地的 9999 端口&#xff0c;支持多個客戶端連接。維護一個音樂播放列表&#xff0c;每個音樂條目包含歌曲名稱、歌手、時長等信息。能夠處理客戶端的以下請求&#xff1a; 添加音樂到播放列表&#xff1a;接收客戶端發…

Verilog 語法 (二)

在掌握了 Verilog 的基礎語法和常用程序框架之后&#xff0c;本節將帶大家深入學習一些 高級設計知識點。這些內容包括&#xff1a; 阻塞賦值&#xff08;&#xff09;與非阻塞賦值&#xff08;<&#xff09;的區別及使用場景&#xff1b; assign 和 always 語句的差異&am…

OpenCV 圖形API(61)圖像特征檢測------檢測圖像邊緣的函數Canny()

操作系統&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 編程語言&#xff1a;C11 算法描述 使用Canny算法在圖像中查找邊緣。 該函數在輸入圖像中查找邊緣&#xff0c;并使用Canny算法在輸出映射&#xff08;edges&#xff09;中標記它們…

ubantu中下載編譯安裝qt5.15.3

操作步驟如下&#xff1a; 克隆 Qt 倉庫&#xff1a; git clone https://code.qt.io/qt/qt5.git cd qt5 切換到 Qt 5.15.3 標簽&#xff1a; git checkout v5.15.3-lts-lgpl 初始化子模塊&#xff1a; perl init-repository 配置和編譯 Qt&#xff1a; ./configure -prefix $H…

畢業論文設計基本內容和要求:

畢業設計基本內容和要求&#xff1a; 研究內容 調查了解LAMP架構和PHP開發&#xff1b; 學習百度旅游調用的其他產品線服務并熟悉請求接口&#xff1b; 學習社區業務層規范&#xff1b; 設計并實現旅游主要模塊&#xff1b; 技術指標 熟悉企業中流程運轉的方式&#xff0c;…

【大語言模型】大語言模型(LLMs)在工業缺陷檢測領域的應用

大語言模型&#xff08;LLMs&#xff09;在工業缺陷檢測領域的應用場景正在快速擴展&#xff0c;結合其多模態理解、文本生成和邏輯推理能力&#xff0c;為傳統檢測方法提供了新的技術路徑。以下是該領域的主要應用場景及相關技術進展&#xff1a; 1. 多模態缺陷檢測與解釋 視…

【AI插件開發】Notepad++ AI插件開發1.0發布和使用說明

一、產品簡介 AiCoder是一款為Notepad設計的輕量級AI輔助插件&#xff0c;提供以下核心功能&#xff1a; 嵌入式提問&#xff1a;對選中的文本內容進行AI分析&#xff0c;通過側邊欄聊天界面與AI交互&#xff0c;實現多輪對話、問題解答或代碼生成。對話式提問&#xff1a;獨…

第2講:R語言中的色彩美學——科研圖表配色指南

目錄 一、背景導引:科研圖表為何需要“配色講究”? 二、色彩基礎認知:別讓“紅綠盲”錯過你的科研成果 三、R語言中的配色庫全景圖 四、案例演示與代碼實戰 ??案例1:ggplot2 + viridis 配色的熱圖 ??案例2:MetBrewer 中的印象派色彩 五、技巧點撥:如何為SCI圖…

基于Django的個性化股票交易管理系統

本項目基于Python3.6、Django2.1、MySql8.0&#xff08;最好不要使用5.6&#xff0c;字符集等方面均不兼容&#xff0c;否則導入數據庫會出錯&#xff09;與股票信息工具包TuShare實現。 創建或激活對應Python開發環境 這里使用了conda來管理環境&#xff0c;強烈推薦&#xf…

超越GPT-4?下一代大模型的技術突破與挑戰

超越GPT-4&#xff1f;下一代大模型的技術突破與挑戰 引言&#xff1a;大模型的演進歷程 人工智能領域近年來最引人注目的發展莫過于大型語言模型(Large Language Models, LLMs)的快速進步。從GPT-3到GPT-4&#xff0c;再到如今各種宣稱"超越GPT-4"的模型不斷涌現&…

Js 之點擊下拉搜索Ajax-Bootstrap-Select

一、效果圖 二、文檔 https://gitcode.com/gh_mirrors/aj/Ajax-Bootstrap-Select/tree/master 三、示例代碼 引入插件js、css <link rel"stylesheet" href"{php echo MODULE_URL}template/lib/bootstrap-select/css/bootstrap-select.min.css"> <…

無線監控系統分類全解析:搭配視頻融合平臺EasyCVR開啟高效監控

隨著技術的發展&#xff0c;無線監控系統在家庭、小型企業、特定行業以及室外惡劣環境中的應用越來越廣泛。本文將介紹幾種常見的無線監控系統&#xff0c;分析其優缺點&#xff0c;并結合EasyCVR視頻融合平臺的功能&#xff0c;探討如何優化無線監控系統的性能和應用。 一、主…

WebRTC服務器Coturn服務器中的通信協議

1、概述 作為WebRTC服務器&#xff0c;coturn通信協議主要是STUN和TURN協議 STUN&TURN協議頭部都是20個字節,用 Message Type來區分不同的協議 |------2------|------2------|------------4------------|------------------------12-------------------------|-----------…

Vue Transition 組件詳解:讓元素動起來

文章目錄 一、為什么需要 Transition 組件&#xff1f;二、核心工作原理三、基礎用法&#xff1a;6個過渡類名四、進階用法五、 JavaScript 鉤子函數六、過渡模式&#xff08;Mode&#xff09;七、列表過渡&#xff08;TransitionGroup&#xff09;八、與第三方動畫庫結合&…

【Redis】有序集合類型Sortedset 常用命令詳解

此類型和 set 一樣也是 string 類型元素的集合&#xff0c;且不允許重復的元素 不同的是每個元素都會關聯一個double類型的分數&#xff0c;redis正是通過分數來為集合中的成員進行從小到大的排序 有序集合的成員是唯一&#xff0c;但分數(score)卻可以重復 1. zadd - 添加 語法…

微信小程序 van-dropdown-menu

點擊其他按鈕&#xff0c;關閉van-dropdown-menu下拉框 DropdownMenu 引入頁面使用index.wxmlindex.scssindex.ts(重點)index.ts(全部) DropdownMenu 引入 在app.json或index.json中引入組件 "usingComponents": {"van-dropdown-menu": "vant/weapp…

C 語言內存分配方法及優缺點

在 C 語言開發中&#xff0c;內存分配的方式主要有三種&#xff1a;靜態內存分配、棧內存分配和堆內存分配。每種分配方式都有其獨特的特點、適用場景以及優缺點。 靜態內存分配 靜態內存分配是在編譯時就確定好內存的分配&#xff0c;它主要用于定義全局變量和靜態局部變量。…

第二大腦-個人知識庫

原文鏈接:https://i68.ltd/notes/posts/20250407-llm-person-kb/ Quivr-第二大腦一樣的個人助手&#xff0c;利用AI技術增強個人生產力 將 GenAI 集成到您的應用程序中的個性化 RAG,專注于您的產品而非 RAG項目倉庫:https://github.com/QuivrHQ/quivr Star:37.7k官網:https:/…

A. Ambitious Kid

time limit per test 1 second memory limit per test 256 megabytes Chaneka, Pak Chaneks child, is an ambitious kid, so Pak Chanek gives her the following problem to test her ambition. Given an array of integers [A1,A2,A3,…,AN][A1,A2,A3,…,AN]. In one o…

SQL進階知識:八、性能調優

今天介紹下關于性能調優的詳細介紹&#xff0c;并結合MySQL數據庫提供實際例子。 性能調優是數據庫管理中的一個重要環節&#xff0c;尤其是在處理高并發和大數據量的應用場景時。MySQL提供了多種工具和方法來優化數據庫性能。以下是關于MySQL性能調優的詳細介紹&#xff0c;以…