vue3 筆記 - 聲明式 一

官網:Vue.js - 漸進式 JavaScript 框架 | Vue.js

vue3編寫有聲明式和響應式。該文章僅記錄聲明式。vue3聲明式與vue2相同。

一、生命周期

  1. 創建之前 beforeCreate()
  2. 已創建 created()
  3. 掛載之前 beforeMount()
  4. 已掛載 mounted()
  5. 銷毀之前 beforeUnmount()
  6. 已銷毀 unmounted()

二、模板語法

//文本插值 
{{ value }}//原始html 
<p v-html="value"></p>//屬性綁定
<p v-bind:id="value"></p>
<p :id="value"></p>//布爾型
<button :disabled="isButtonDisabled">Button</button>//綁定多個值
const objectOfAttrs = {id: 'container',class: 'wrapper'
}
<div v-bind="objectOfAttrs"></div>//JavaScript 表達式 
{{ number + 1 }}
{{ ok ? 'YES' : 'NO' }}
{{ message.split('').reverse().join('') }}
<div :id="`list-${id}`"></div>//函數調用
<time :title="toTitleDate(date)" :datetime="date">{{ formatDate(date) }}
</time>

2.1 內置指令

  1. v-text 更新元素的文本內容
  2. v-html 更新元素的innerhtml
  3. v-show 基于表達式值的真假性,來改變元素的可見性。頁面渲染消耗多,適合頻繁切換顯示。
  4. v-if 基于表達式值的真假性,來條件性地渲染元素或者模板片段。元素切換消耗多。
  5. v-else 表示 v-ifv-if / v-else-if 鏈式調用的“else 塊”。
  6. v-else-if 表示 v-if 的“else if 塊”。可以進行鏈式調用。
  7. v-for 基于原始數據多次渲染元素或模板塊。
  8. v-on 給元素綁定事件監聽器。縮寫@。
  9. v-bind 動態的綁定一個或多個 attribute,也可以是組件的 prop。縮寫:
  10. v-model 在表單輸入元素或組件上創建雙向綁定。
  11. v-slot 用于聲明具名插槽或是期望接收 props 的作用域插槽。
  12. v-pre 跳過該元素及其所有子元素的編譯。
  13. v-once 僅渲染元素和組件一次,并跳過之后的更新。
  14. v-memo 緩存一個模板的子樹。僅用于性能至上場景中的微小優化,應該很少需要。最常見的情況可能是有助于渲染海量 v-for 列表。
  15. v-cloak 用于隱藏尚未完成編譯的 DOM 模板。
<div v-for="item in list" :key="item.id" v-memo="[item.id === selected]"><p>ID: {{ item.id }} - selected: {{ item.id === selected }}</p><p>...more child nodes</p>
</div>[v-cloak] {display: none;
}template<div v-cloak>{{ message }}
</div>

三、變量定義及使用

聲明式定義和響應式不同,代碼如下。變量是在函數中返回。

<template>
<p>{{ msg }}</p>
<div><ul><li v-for="(item,index) in list" :key="index">{{ item.value }}</li></ul>
</div> 
<p ></p>
</template>
<script>
export default{name:'Test',data:function(){return{msg:"test",list:[{id:1,value:test1},{id:2,value:test2},{id:3,value:test3},]}},
}
</script>

3.2 計算屬性

?在computed中使用變量名作為方法名,可在模板中使用。計算屬性也可以定義為方法,在methods中定義,但是計算屬性基于它們的響應式依賴進行緩存,只在相關響應式依賴發生改變時它們才會重新求值。

以下代碼中計算屬性now將不再更新,因為Date.now()不是響應式依賴。

<template>
<div id="example"><p>Original message: "{{ message }}"</p><p>Computed reversed message: "{{ reversedMessage }}"</p>
</div>
</template>
<script>
var vm = new Vue({el: '#example',data: {message: 'Hello'},computed: {// 計算屬性的 getterreversedMessage: function () {// `this` 指向 vm 實例return this.message.split('').reverse().join('')},now: function () {return Date.now()}}
})
</script>

3.3 監聽

通過 watch 選項提供了一個更通用的方法,來響應數據的變化。

之前使用開源vue后臺框架,相同頁面不同參數的時候,使用監聽處理傳過來的參數,便于多個頁面顯示。

<template>
<div id="watch-example"><p>Ask a yes/no question:<input v-model="question"></p><p>{{ answer }}</p>
</div>
</template>
<script>
var vm = new Vue({el: '#example',data: {question: '',answer:'',},watch: {// 如果 `question` 發生改變,這個函數就會運行question: function (newQuestion, oldQuestion) {this.answer = newQuestion}},
})
</script>

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

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

相關文章

java面試-Dubbo和zookeeper運行原理

遠離八股文&#xff0c;面試大白話&#xff0c;通俗且易懂 看完后試著用自己的話復述出來。有問題請指出&#xff0c;有需要幫助理解的或者遇到的真實面試題不知道怎么總結的也請評論中寫出來&#xff0c;大家一起解決。 java面試題匯總-目錄-持續更新中 分布式注冊中心和服務調…

Unity中后處理簡介

文章目錄 前言一、后處理的原理二、我們看一下Unity文檔中&#xff0c;內置的后處理前后的效果后處理前&#xff1a;后處理后&#xff1a; 前言 我們在這篇文章中&#xff0c;了解一下Unity中的后處理效果 后期處理概述 一、后處理的原理 在后處理的過程中&#xff0c;我們主…

Java當中常用的算法

文章目錄 算法二叉樹左右變換數據二分法實現 冒泡排序算法插入排序算法快速排序算法希爾排序算法歸并排序算法桶排序算法基數排序算法分治算法漢諾塔問題動態規劃算法引子代碼實現背包問題 KMP算法什么是KMP算法暴力匹配KMP算法實現 今天我們來看看常用的算法&#xff0c;開干。…

《微信小程序開發從入門到實戰》學習四十五

4.4 云函數 云函數是開發者提前定義好的、保存在云端并且將在云端運行的JS函數。 開發者先定義好云函數&#xff0c;再使用微信開發工具將云函數上傳到云空間&#xff0c;在云開發控制臺中可看到已經上傳的云函數。 云函數運行在云端Node.js環境中。 小程序端通過wx.cloud.…

IP地址定位技術為網絡安全建設提供全新方案

隨著互聯網的普及和數字化進程的加速&#xff0c;網絡安全問題日益引人關注。網絡攻擊、數據泄露、欺詐行為等安全威脅層出不窮&#xff0c;對個人隱私、企業機密和社會穩定構成嚴重威脅。在這樣的背景下&#xff0c;IP地址定位技術應運而生&#xff0c;為網絡安全建設提供了一…

Python Selenium 自動登入1688

Python Selenium是一個用于自動化Web瀏覽器操作的庫。它提供了一組功能強大的工具和API&#xff0c;可以模擬用戶在瀏覽器中的行為&#xff0c;并執行各種任務&#xff0c;如點擊、輸入文本、提交表單等。 要使用Python Selenium登錄1688網站&#xff0c;需要進行以下步驟&…

iOS微信小程序虛擬支付解決方案

眾所周知&#xff0c;在IOS微信小程序不支持虛擬支付&#xff0c;一直是困擾IOS開發者、運營最頭疼的問題&#xff0c;主要原因是蘋果不允許IOS微信上架這類產品。導致微信小程序的開發者在IOS上都不能支付虛擬商品&#xff0c;虛擬商品包含了虛擬課程、會員、虛擬書等。 那么…

短視頻ai剪輯分發矩陣系統源碼3年技術團隊開發搭建打磨

如果您需要搭建這樣的系統&#xff0c;建議您尋求專業的技術支持&#xff0c;以確保系統的穩定性和安全性。 在搭建短視頻AI剪輯分發矩陣系統時&#xff0c;您需要考慮以下幾個方面&#xff1a; 1. 技術實現&#xff1a;您需要選擇適合您的需求和預算的技術棧&#xff0c;例如使…

肖sir__ 項目講解__項目數據

項目時間&#xff1a; 情況一&#xff1a;項目時間開始到上線的時間&#xff0c;這個時間一般比較長&#xff08;一年&#xff0c;二年&#xff0c;三年&#xff09; 情況二&#xff1a;項目的版本的時間或則是周期&#xff08;1個月&#xff0c;2個月&#xff0c;3個月&…

機器人、智能小車常用的TT電機/310電機/370電機選型對比

在制作智能小車或小型玩具時&#xff0c;在電機選型上一些到各種模糊混淆的概念&#xff0c;以及各種錯綜復雜的電機參數&#xff0c;本文綜合對比幾種常用電機的參數及特性適應范圍&#xff0c;以便快速選型&#xff0c;注意不同生產廠家的電機參數規則會有較大差異。 普通TT…

論文閱讀:PointCLIP: Point Cloud Understanding by CLIP

CVPR2022 鏈接&#xff1a;https://arxiv.org/pdf/2112.02413.pdf 0、Abstract 最近&#xff0c;通過對比視覺語言預訓練(CLIP)的零鏡頭學習和少鏡頭學習在2D視覺識別方面表現出了鼓舞人心的表現&#xff0c;即學習在開放詞匯設置下將圖像與相應的文本匹配。然而&#xff0c;…

【ET8】2.ET8入門-ET框架解析

菜單欄相關&#xff1a;ENABLE_DLL選項 ET->ChangeDefine->ADD_ENABLE_DLL/REMOVE_ENABLE_DLL 一般在開發階段使用Editor時需要關閉ENABLE_DLL選項。該選項關閉時&#xff0c;修改腳本之后&#xff0c;會直接重新編譯所有的代碼&#xff0c;Editor在運行時會直接使用最…

免費網頁抓取工具大全【附下載和工具使用教程】

在當今信息爆炸的時代&#xff0c;獲取準確而豐富的數據對于企業決策和個人研究至關重要。而網頁抓取工具作為一種高效獲取互聯網數據的方式&#xff0c;正逐漸成為大家解決數據需求的得力助手。本文將深入探討網頁抓取工具的種類&#xff0c;并為大家提供簡單實用的頁面采集教…

(企業項目)SpringBoot3整合校驗框架validation

在Spring Boot項目中使用校驗框架validation可以讓我們更方便地實現數據校驗和錯誤提示。下面是Spring Boot集成校驗框架validation的步驟。 添加依賴 在項目的pom.xml文件中添加validation依賴&#xff1a; <dependency><groupId>org.springframework.boot</…

C# 實現Lru緩存

C# 實現Lru緩存 LRU 算法全稱是最近最少使用算法&#xff08;Least Recently Use&#xff09;&#xff0c;是一種簡單的緩存策略。 通常用在對象池等需要頻繁獲取但是又需要釋放不用的地方。 代碼實現的基本原理就是使用鏈表&#xff0c;當某個元素被訪問時&#xff08;Get或…

windows安裝protoc、protoc-gen-go、protoc-gen-go-grpc

文章目錄 一、 protoc二、protoc-gen-go三、protoc-gen-go-grpc 一、 protoc 1&#xff0c;下載&#xff1a;https://github.com/google/protobuf/releases 下載對應的protoc&#xff0c;注意選擇windows 2&#xff0c;下好之后解壓就行&#xff0c;然后把bin目錄加入到環境…

【異常】淺析異常體系及為什么一定會執行finally塊代碼

異常體系&#xff1a; &#xff08;1&#xff09;所有異常&#xff08;Exception&#xff09;、錯誤&#xff08;Error&#xff09;都繼承自異常中的基類&#xff1a;Throwable。而異常又可以分為檢查異常&#xff08;Checked Exception&#xff09;、非檢查異常&#xff08;Un…

msvcp100.dll丟失的常見原因/msvcp100.dll丟失的解決方法分享

在計算機使用過程中&#xff0c;我們經常會遇到一些錯誤提示&#xff0c;其中之一就是“msvcp100.dll丟失”。這個錯誤提示通常出現在運行某些程序或游戲時&#xff0c;給使用者帶來了很大的困擾。那么&#xff0c;究竟是什么原因導致了msvcp100.dll文件的丟失呢&#xff1f;本…

ubuntu22.04在opencv4的基礎上安裝opencv3

安裝opencv4 首先在ubuntu22.04上安裝opencv4&#xff0c;可以參考之前的博客ubuntu22.04安裝opencv4和opencv_contrib-CSDN博客 安裝opencv3 由于有使用opencv3的需求&#xff0c;所以需要繼續安裝opencv3 ; 安裝編譯 這里安裝的版本是opencv3.4.5&#xff0c;大致安裝思…

STM32F1之CAN介紹

目錄 ?編輯 1. CAN 是什么&#xff1f; 2. 總線拓撲圖 3. CAN 的特點 4. CAN 協議的基本概念 1. CAN 是什么&#xff1f; CAN 是 Controller Area Network 的縮寫&#xff08;以下稱為 CAN&#xff09;&#xff0c;是 ISO*1 國際標準化的串行通信協議。 在當前的汽車產…