組件的基本知識

組件

組件的基本知識

  • 組件
  • 概念
  • 組成
    • 步驟
    • 好處
    • 全局注冊
    • 生命周期
    • scoped
      • 原理
    • 父子通信
      • 步驟
      • 子傳父


概念

就是將要復用的標簽,抽離放在一個獨立的vue文件中,以供主vue文件使用

組成

三部分構成
template:HTML 結構
script: JS 邏輯
style: CSS 樣式 (可?持less/scss,需要裝包)

組件中也可以支持less/scss
style標簽, lang=“less/scss” 開啟 less/scss 功能
裝包: npm i less less-loader -D 或者 npm i sass -D


步驟

步驟:抽離 -> 封裝( JS+HTML+CSS ) -> 導? -> 使?
簡而言之:新建一個需要在主vue文件復用的vue組件,然后再主函數中進行導入使用

示例:在

src/components/MyPanel.vue

下創建一個復用的組件,然后需要在主vue文件應用那么我在主vue文件的就應該這樣寫

//導入方式一般用大駝峰,在后續使用的時候用烤串法也不出現錯誤,但是如果用烤串法只能用烤串法寫出
<script setup>
import MyPanel from './components/MyPanel.vue'
<script>

使用分為烤串法和大駝峰法

<!-- ?駝峰標 雙標簽 --><MyPanel></MyPanel><!-- ?駝峰 ?閉合的單標簽 --><MyPanel /><!-- 烤串法 雙標簽 --><my-panel></my-panel><!-- 烤串法 ?閉合的單標簽 --><my-panel />

好處

化?為?、化繁為簡 , 利于代碼復?和維護


全局注冊

可以在任何組件中使用,只要須在main.js導入,其他文件中可以直接使用


import BitButton from './components/BitButton.vue'
app.component('BitButton', BitButton)

生命周期

① 創建 ② 掛載 ③ 更新 ④ 卸載
創建階段:創建響應式數據
掛載階段:渲染模板
更新階段:修改數據,更新視圖
卸載階段:卸載組件
在這里插入圖片描述選項式API下, 如果?進?組件就發請求,在created進??
選項式API下, 最早可以操作原?DOM, 在mounted進??
選項式API下, 組件銷毀, 要做優化?作, 在unmounted進??

創建階段掛載階段更新階段銷毀階段
Vue2beforeCreate/createdbeforeMount/mountedbeforeUpdate/updatedbeforeUnmount/unmounted
Vue3setup(?絡請求)onBeforeMount/onMounted(操作DOM)onBeforeUpdate/onUpdatedonBeforeUnmount/onUnmounted(清理?作)
<script setup>
import { onMounted, onUnmounted } from 'vue'
// 開啟定時器
const timer = setInterval(() => {
console.log('Hello World')
}, 1000)
// 組件掛載后
onMounted(() => {
// console.log(document.querySelector('p'))
// 將 p 標簽的字體顏?設置為 green
document.querySelector('p').style.color = 'green'
})
// 組件卸載后
onUnmounted(() => {
// 關閉定時器
clearInterval(timer)
})
</script>

scoped

由于vue會進行打包操作,然后在前端渲染,會出現將”局部樣式“變為“全局樣式”,所以這時候就需要用到scoped,直接在

原理

程序員書寫的選擇器與屬性選擇器[data-v-xxxx]形成交集選擇器,
因為屬性選擇器[data-v-xxxx]的唯?性, 保證了該樣式只能對當前組件內的元素?效

父子通信

步驟

?組件通過 defineProps 接收數據(?接)
?組件通過 ?定義屬性 傳遞數據 (?傳)
在這里插入圖片描述

子傳父

?組件內,?組件上,綁定?定義事件,@?定義事件=“?修改數據的函數” (?綁定)
?組件恰當時機, 觸發?組件的?定義事件 , emit(‘?定義事件’, 攜帶的參數…), 從?導致?組件
修改函數的時候(?觸發)
在這里插入圖片描述

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

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

相關文章

將視頻生成視頻二維碼步驟

如何將視頻鏈接生成二維碼 生成與視頻關聯的二維碼通常涉及以下幾個方面&#xff1a;選擇合適的庫或工具、準備視頻鏈接以及將其轉換為二維碼圖像。以下是詳細的說明&#xff1a; 使用JavaScript/Vue框架生成二維碼 在前端開發中&#xff0c;可以使用 qrcode 或者 vue-qrcod…

關系型數據庫PostgreSQL for Mac 保姆級使用教程

第一部分&#xff1a;安裝PostgreSQL 方法一&#xff1a;使用Postgres.app&#xff08;最簡單&#xff09; 訪問 Postgres.app官網 下載最新版本&#xff0c;將 Postgres.app 移動到 “Applications” 文件夾。 雙擊Postgres.app打開應用&#xff0c;點擊"Initialize&q…

Redis超詳細入門教程(基礎篇)

一&#xff1a;Redis 簡介 &#xff08;1&#xff09;Mysql: 將數據通過數據文件存在磁盤上 通過二維表存儲數據 &#xff08;2&#xff09;Redis 定義&#xff1a; 優點&#xff1a; 熱點數據&#xff1a;短時間內有大量用戶訪問 二&#xff1a;Redis下載與安裝 Windows系統安…

【JS-Leetcode】2621睡眠函數|2629復合函數|2665計數器||

文章目錄 2621睡眠函數2629復合函數2665計數器|| 這三個題目涉及setTimeout、promise、數組reduce方法&#xff0c;閉包。 2621睡眠函數 請你編寫一個異步函數&#xff0c;它接收一個正整數參數 millis &#xff0c;并休眠 millis 毫秒。要求此函數可以解析任何值。 原理&am…

重塑編程體驗邊界:明基RD280U顯示器深度體驗

重塑編程體驗邊界&#xff1a;明基RD280U顯示器深度體驗 寫在前面 本文將以明基RD280U為核心&#xff0c;通過技術解析、實戰體驗與創新案例&#xff0c;揭示專業顯示器如何重構開發者的數字工作臺。 前言&#xff1a;當像素成為生產力的催化劑 在GitHub的年度開發者調查中&…

如何通過挖掘需求、SEO優化及流量變現成功出海?探索互聯網產品的盈利之道

挖掘需求&#xff0c;優化流量&#xff0c;實現變現&#xff1a;互聯網出海產品的成功之路 在當今全球化的數字時代&#xff0c;越來越多的企業和個人選擇將業務擴展到國際市場。這一趨勢不僅為企業帶來了新的增長機會&#xff0c;也為個人提供了通過互聯網產品實現盈利的途徑…

cuda學習2:cuda編程基本概念

CUDA基本概念 主機&#xff08;host&#xff09; 通常將起控制作用的CPU稱為主機&#xff08;host&#xff09; 設備&#xff08;device&#xff09; 將起加速作用的 GPU 稱為設備&#xff08;device&#xff09; 流處理器&#xff08;streaming processor&#xff09; 物…

AVL樹的介紹與學習

目錄 1.前言 2.AVL樹 3.AVL樹的插入 平衡因子的更新 更新停止的條件 旋轉 1.前言 在學習了二叉搜索樹&#xff0c;set和map之后&#xff0c;我們接下來趁熱打鐵&#xff0c;繼續學習AVL樹。 2.AVL樹 1.AVL樹具有二叉搜索樹的性質&#xff0c;但是它的左右子樹的高度差不…

數字人接大模型第二步:實時語音同步

接上例第一步,還是dh_live項目,增加了一個完整的實時對話樣例,包含vad-asr-llm-tts-數字人全流程,以彌補之前的只有固定的問答的不足。 VAD(Voice Activity Detection,語音活動檢測)VAD用于檢測用戶是否正在說話,從而觸發后續的語音處理流程。 ASR(Automatic Speech R…

01_Long比較值 類型相同值不同

問題描述&#xff1a; 看如下代碼&#xff1a; Long a 128L; Long b 128L;System.out.println(a b);運行結果如下&#xff1a; 明明 a 和 b 的值一樣&#xff0c;但是結果卻為 False&#xff0c;為什么同樣的類型&#xff0c;同樣的值&#xff0c;卻不相等&#xff0c;這是…

EKS環境下服務重啟50X錯誤

EKS中&#xff0c;當使用AWS Load Balancer Controller時&#xff0c;ALB有兩種模式&#xff0c;Internet-facing和Internet&#xff0c;當使用Internet模式時&#xff0c;ALB注冊的是NodeIP&#xff1b;使用Internet-facing模式時&#xff0c;ALB注冊的則是Pod IP。從模式上來…

Android項目升級插件到kotlin 2.1.0后混淆網絡請求異常

背景 項目kt插件1.9.24升級到2.1.0后打包編譯release網絡請求失敗了。 retrofit版本2.9.0 錯誤詳情 java.lang.ClassCastException: java.lang.Class cannot be cast to java.lang.reflect.ParameterizedTypeat retrofit2.m.a(Unknown Source:2477)at retrofit2.K.invoke(U…

Vue中Axios實戰指南:高效網絡請求的藝術

Axios作為Vue生態中最流行的HTTP客戶端&#xff0c;以其簡潔的API和強大的功能成為前后端交互的首選方案。本文將帶你深入掌握Axios在Vue項目中的核心用法和高級技巧。 一、基礎配置 1. 安裝與引入 npm install axios 2. 全局掛載&#xff08;main.js&#xff09; import …

Flink維表深度解析

一、維表的概念與作用 維表&#xff08;Dimension Table&#xff09; 是數據倉庫中的核心概念&#xff0c;通常用于存儲靜態或緩慢變化的業務實體信息&#xff08;如用戶資料、商品信息、地理位置等&#xff09;。在實時流處理場景中&#xff0c;維表的作用是為主數據流&#…

SKLearn - Biclustering

文章目錄 Biclustering &#xff08;雙聚類&#xff09;譜二分聚類算法演示生成樣本數據擬合 SpectralBiclustering繪制結果 Spectral Co-Clustering 算法演示使用光譜協同聚類算法進行文檔的二分聚類 Biclustering &#xff08;雙聚類&#xff09; 關于雙聚類技術的示例。 譜…

PostSwigger Web 安全學習:CSRF漏洞2

CSRF 漏洞學習網站&#xff1a;What is CSRF (Cross-site request forgery)? Tutorial & Examples | Web Security Academy CSRF 漏洞&#xff1a;SameSite相關繞過 當瀏覽器訪問服務器時&#xff0c;服務器會在 Cookie 中添加 SameSite 屬性來告訴瀏覽器是否在來自其他…

從基礎到實戰的量化交易全流程學習:1.3 數學與統計學基礎——概率與統計基礎 | 數字特征

從基礎到實戰的量化交易全流程學習&#xff1a;1.3 數學與統計學基礎——概率與統計基礎 | 數字特征 第一部分&#xff1a;概率與統計基礎 第2節&#xff1a;數字特征&#xff1a;期望值、方差、協方差與相關系數 一、期望值&#xff08;Expected Value&#xff09;&#xff1a…

MySQL(聚合函數)

單行函數 對每一條記錄輸入值進行計算&#xff0c;得到相應的計算結果&#xff0c;返回給用戶&#xff0c;也就是說&#xff0c;每條記錄作為一個輸入參數&#xff0c;經過函數計算得到每條記錄的計算結果。 每一個函數中都有一些常用的函數&#xff08;方法&#xff09; 在學…

babel核心知識點

Babel 是一個 JavaScript 編譯器&#xff0c;主要用于將 ECMAScript 2015 版本的代碼轉換為向后兼容的 JavaScript 代碼&#xff0c;以便在舊版本的瀏覽器或環境中運行。以下是 Babel 的核心知識點&#xff1a; 1. 基本概念 編譯器&#xff1a;Babel 本質上是一個編譯器&…

javaScript--數據結構和算法

在 JavaScript 里&#xff0c;數據結構和算法是十分關鍵的部分&#xff0c;下面介紹幾種常見的數據結構和對應的算法。 數組&#xff08;Array&#xff09; 數組是最基礎的數據結構&#xff0c;用于存儲一系列有序的數據。 // 創建數組 const arr [1, 2, 3, 4, 5];// 訪問元素…