vue2,vue指令和選項

来源:https://www.cnblogs.com/wang622/archive/2022/07/13/16470104.html
-Advertisement-
Play Games

vue特點 mvvm框架 響應式(聲明式) 組件化(支持自定義組件) 豐富的指令(Dom功能的抽象) 基於選項(template,data,computed,watch,methods) vue文檔集中ue Vue生態豐富且簡單 漸進式() Veu和Dom開發思想 Dom開發思想:當我們需要在交互事 ...


vue特點

    • mvvm框架
    • 響應式(聲明式)
    • 組件化(支持自定義組件)
    • 豐富的指令(Dom功能的抽象)
    • 基於選項(template,data,computed,watch,methods)
    • vue文檔集中ue
    • Vue生態豐富且簡單
    • 漸進式()

Veu和Dom開發思想

    • Dom開發思想:當我們需要在交互事件中改變視圖時,使用DOM選擇器選中目標節點、再使用DOM方法直接改變視圖。
    • Vue開發思想:當我們需要在交互事件中改變視圖時,先在data選項中聲明一個合適的變數,再在交互事件中改變這個聲明式變數即可,視圖自動更新,這是一種間接的操作。

常用的Vue指令有哪些

文本類指令:

    • {{}}文本插值:用於綁定節點的文本。{{}}這種綁定值的方式會出現一閃而過的效果,使用v-cloak來解決。
    • v-text:用於綁定節點的文本,大多數的時候,可以和{{}}替換。
    • v-once:用於指定節點的動態內容只綁定一次,當前節點中所對應的變數發生變化時視圖不更新。一般情況下,v-once只能和{{}}一起用。
    • v-once和v-cloak:都是不需要接受表達式來做為‘值’。
    • v-html:用於動態綁定的html節點,相當於DOM中的innerHTML,這個指令預設已經做了“防xss攻擊”的處理。

動態屬性指令:

v-bing:用於動態綁定節點的屬性(比如:title ,value,style等)

事件綁定指令:

v-on:用於給視圖節點綁定各種js事件(比如:click,keyup等)

v-on簡寫@  

基本語法: <div @事件名.事件修飾符='事件處理'></div> 

 v-on事件修飾符:.stop阻止事件冒泡,.prevent阻止預設事件,.enter綁定鍵盤Enter鍵盤。

表單綁定指令:

v-model:用於表單取值(表單雙向綁定)  比如:input,select

基本語法:<input style="text" v-model.表單修飾符='變數'> 

v-model修飾符:.trim自動去除首尾空格  .number隱式類型轉換  .lazy用於性能,當表單失去焦點時再進行雙向綁定。

列表渲染:

v-for:用於渲染列表,對象,Number變數等。

渲染列表語法: <div v-for='(item,index) in array'></div> 

渲染對象語法: <div v-for='(value,key,index) in obj'></div> 

渲染Number變數語法: <div v-for='(num, index) in 5'></div> 

條件渲染:

v-show:用於顯示或隱藏視圖節點,使用display:block / display:none 來實現的。

v-if,v-else-if,v-else:用於顯示或隱藏視圖節點,真正的移除或插入視圖節點。

v-show和v-if的區別

v-if是節點的插入或移除,比較耗費性能;v-show只是通過樣式來實現顯示與隱藏,性能消耗低。

註意:不建議v-if和v-for一起使用;如果一定要一起使用,在vue2中v-for優先順序更好。

其它指令

v-pre:用於調試,可以阻止vue編譯器對指令的編譯

v-slot:插槽

自定義指令

在vue開發中,除了可以使用這些內置指令外,我們還可以使用Vue.directive() 或directives選項來自定義指令。

聲明式變數的特點

當聲明式變數時,它所對應的視圖節點自動更新。

 vue選項



        const app = new Vue({
            el:'#app',
            data:{

            },             methods:{
            },             computed:{
            },         })
 
    •  el:把vue組件(響應式系統)掛載到真實DOM
    • data:專門用於定義聲明式變數的
    • methods:是專門用於定義函數方法的地方
    • computed(計算屬性):
    • watch:偵聽器(監聽器)

computed

語法:在computed選項中,定義計算屬性方法,在方法體使用聲明式變數進行若幹計算。 使用:在視圖模板中把計算屬性直接當作變數直接使用,在vue邏輯代碼使用this訪問計算屬性,預設只有get功能。 計算屬性可以綁定在v-model上。  

computed作用:

    1. 當指令的表達式比較複雜時,我們建議使用計算屬性來優化,提升視圖模板中代碼的可閱讀性、可維護性。

    2. 用於緩存一個複雜的運算,避免組件更新時產生沒有必要的性能損耗。計算屬性本質上是一個函數,Vue會分析函數體中使用到了哪些聲明式變數,有且僅有這些聲明式變數發生變化時,計算屬性才會重新執行。

在Vue中,計算屬性能計算哪些性質的變數

data,vuex數據,$route,計算一切__ob__的數據。

如何讓計算屬性同時支持get/set功能

計算屬性預設是一個函數,表示get功能。為了支持set,要把計算屬性寫對象結構 {get, set}
const app = new Vue({
   el:'#app',
   computed:{
        he:{
            get(){

       },
set(){

       }, }, }, })

watch

作用:用於監聽一個變數的變化,然後去做另一件事兒。

特點:當偵聽器監聽引用數據類型時,預設只能監聽引用數據類型的第一層。

監聽深度越深,Vue在背後要做的事兒越多,這是一種性能損耗,所以一般不要對一個引用類型的變數進行深度監聽。 如何監聽引用數據類型的每一層(深度監聽)

 

const app = new Vue({    
   el:
'#app', watch:{ info:{ deep:true,        handler(newInfo,oldInfo){
        const.log(this.info)
      } },
    //推薦寫法
     
'info.child.age' (newAge, oldAge) {
            console.log('---age變了', newAge, oldAge)           },
    },
})
在Vue中,偵聽器能夠監聽哪些性質的變數變化 能夠監聽data、計算屬性、vuex數據、$route等,凡是那些帶有__ob__變數都能被監聽到

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • SQL Server 中的事務是什麼? 事務是應該作為一個單元執行的一組 SQL 語句。這意味著事務確保所有命令都成功或都不成功。如果事務中的命令之一失敗,則所有命令都失敗,並且在資料庫中修改的任何數據都將回滾。 比如您在做一個銀行轉賬操作,這涉及了2個操作, 扣款和收款, 必須保證這2個操作都成功 ...
  • 前言 本文章做了把mysql表從壓縮表過渡到普通表的實驗過程,看看壓縮表變成普通表會發生什麼?本文針對mysql5.7和mysql8分別進行了實驗。 1、什麼是表壓縮 在介紹壓縮表變成普通表前,首先給大家普及下,什麼是表壓縮。 表壓縮,意思是使表中的數據以壓縮格式存儲,壓縮能夠顯著提高處理速度和壓縮 ...
  • 曾幾何時,“併發高就分庫,數據大就分表”已經成了處理 MySQL 數據增長問題的聖經。 面試官喜歡問,博主喜歡寫,候選人也喜歡背,似乎已經形成了一個閉環。 但你有沒有思考過,分庫分表真的適合你的系統嗎? 分表 在業務剛剛發展起來的時候,流量全部打到了一個 MySQL 上,用戶信息全落到了 user ...
  • 註:筆記旨在記錄 四、MySQL 聚合函數 | \ | 函 數 名 稱 | 作 用 | 完 成 | |: :|: |: |: :| | 1 | MAX | 求最大值 | 勾 | | 2 | MIN | 求最小值 | 勾 | | 3 | COUNT | 求數量 | 勾 | | 4 | BIT_COUN ...
  • 大家好,我是小寒~ 今天給大家帶來一篇 flink 作業提交相關的文章。 我們都知道,在開發完一個 flink 應用程式後,打包成 jar 包,然後通過 FLink CLI 或者 Web UI 提交作業到 FLink 集群。其實,Flink 的 jar 文件並不是 FLink 集群的可執行文件,需要 ...
  • 近日,騰訊雲聯手宇信科技,共同完成了信貸平臺、數據中台、手機銀行等核心金融業務的聯合解決方案,以及雙向適配認證、深度測試和優化工作,並已在某頭部農商行、某頭部城商行投產運行。未來,雙方將在信貸系統和國產資料庫的深度適配測試、監管報送國產化聯合方案、雲原生PaaS平臺雙向適配認證等領域持續推進合作。 ...
  • Postgres14.4(Docker安裝) 一,Docker拉取鏡像 docker pull postgres:14.4 #檢查鏡像是否拉取成功 docker images | grep postgres 二,新建掛載目錄,並運行容器 mkdir -p /data/postgre/data doc ...
  • 多媒體時代,音頻作為內容傳播中的重要形式,因其不受空間限制、認知負擔小、聲音元素多樣化等特點,廣泛應用於短視頻製作、兒童線上教育、有聲閱讀、游戲等領域產品,在各種形式的音頻呈現過程中,合理添加音效能夠帶給用戶更具氛圍感的沉浸式聲音體驗。HMS Core音頻編輯服務為助力全球開發者快速構建各類應用音頻 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...