Vue中學習筆記-數據代理

文章目錄

  • 前文提要
  • 數據代理的概念
  • MVVM模型和Vue中的數據代理
    • M,模型
    • V,視圖
    • VM,視圖模型


前文提要

本人僅做個人學習記錄,如有錯誤,請多包涵


數據代理的概念

使用一個對象代理對另一個對象中屬性的操作。

MVVM模型和Vue中的數據代理

Vue框架是建立在MVVM的基礎上開發的。
MVVM框架模型了解:什么是MVVM框架?
第一個M代表Model,模型,也就是數據
第一個V代表View,視圖,也就是呈現出來的效果
最后的VM代表ViewModel,是視圖模型,是抽離出來的部分邏輯代碼,用于構建視圖和模型之間的關聯,能夠借此管理兩部分。

M,模型

Vue中的Model也就是Vue實例中的data中的數據,也就是下文data后大括號中的內容

const vm = new Vue({// el: '#box',data: {name: "這里是name的值",}
})

V,視圖

Vue中的View視圖,則是html中嵌入了Vue框架特殊語法待處理的模版代碼,

<div class="box" id="box"><h1>hello,world{{name}}</h1></div>

例如這里的,div標簽,就是我理解中的Vue里的視圖,

VM,視圖模型

至于VM,視圖模型,則是整個Vue實例。

通過這種關系,也就是通過這種數據代理的方法,將html中的數據和Vue實例中的data數據關聯起來。

在第一個M中的代碼用vm指向整個Vue實例,代碼中的data會在vm上生成一個屬性_data,_data不是Vue實例中的data,但是實例中的data的數據,_data中都有。

接著就是一串代碼

<div class="box" id="box"><h1>hello,world{{name}}</h1></div>

在這兩層大括號中,我們可以直接寫js表達式也可以寫出Vue實例中含有的各類屬性
那么Vue實例中有name嗎,按照上面的講述,是不是應該寫成

hello,world{{_data.name}}

才對,寫成_data.name這樣沒錯,但其中Vue中數據代理的體現還體現在,它自動地在vm的身上創建了data中的屬性
你對data的訪問和修改,實際上操控的都是_data中的數據(這里就是數據代理的體現,用一個對象代理另一個對象的操作),_data和data中的數據又是關聯的。
就可以通過name實現_data.name的操作,目的是編寫代碼更加方便


至此,結束。

如果你覺得這篇文章寫的不錯,多多點贊~收藏吧!

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

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

相關文章

Windows IDEA Python開發環境安裝+爬蟲示例

文章目錄 Python下載安裝開發工具IDEA包管理安裝pip基本用法從 requirements.txt 安裝依賴 項目示例部署在 Linux 上安裝Python在 Linux 上創建虛擬環境&#xff1a;安裝依賴&#xff1a;運行你的爬蟲 Python下載安裝 Python 安裝包下載地址&#xff1a;https://www.python.or…

Oracle登錄認證方式詳解

文章目錄 一、簡介二、OS認證三、口令認證四、remote_login_passwordfile 詳解 一、簡介 在數據庫管理中&#xff0c;登錄認證是確保數據庫安全性的重要環節。Oracle數據庫提供 了兩種認證方式&#xff0c;一種是“操作系統認證”&#xff0c;一種是“口令文件認證&#xff0c…

智安網絡|如何最大限度地提高企業網絡安全水平

在當今數字化時代&#xff0c;企業面臨著日益復雜和智能化的網絡威脅。為了保護企業的機密信息和客戶數據&#xff0c;漏洞掃描成為了一個至關重要的安全措施。然而&#xff0c;對于企業來說&#xff0c;他們最關心的是什么問題呢&#xff1f; 一、漏洞的發現和修復 在網絡安全…

路徑規劃之Best-First Search算法

系列文章目錄 路徑規劃之Dijkstra算法 路徑規劃之Best-First Search算法 路徑規劃之Best-First Search算法 系列文章目錄前言一、Best-First Search算法1.1 起源1.2 過程 三、簡單使用 前言 Best-First Search算法和Dijkstra算法類似&#xff0c;都屬于BFS的擴展或改進 一、…

Nginx 服務器 SSL 證書安裝部署

操作場景 本文檔以證書名稱 menglinfeng.top 為例。 Nginx 版本以 nginx/1.18.0 為例。 當前服務器的操作系統為 CentOS 7&#xff0c;由于操作系統的版本不同&#xff0c;詳細操作步驟略有區別。 安裝 SSL 證書前&#xff0c;請您在 Nginx 服務器上開啟 “443” 端口&#xf…

基于官方YOLOv4開發構建目標檢測模型超詳細實戰教程【以自建缺陷檢測數據集為例】

本文是關于基于YOLOv4開發構建目標檢測模型的超詳細實戰教程&#xff0c;超詳細實戰教程相關的博文在前文有相應的系列&#xff0c;感興趣的話可以自行移步閱讀即可&#xff1a;《基于yolov7開發實踐實例分割模型超詳細教程》 《YOLOv7基于自己的數據集從零構建模型完整訓練、…

springboot(ssm超市貨品信息管理系統 超市購物系統Java(codeLW)

springboot(ssm超市貨品信息管理系統 超市購物系統Java(code&LW) 開發語言&#xff1a;Java 框架&#xff1a;ssm/springboot vue JDK版本&#xff1a;JDK1.8&#xff08;或11&#xff09; 服務器&#xff1a;tomcat 數據庫&#xff1a;mysql 5.7&#xff08;或8.0&am…

Linux技能篇-非交互式修改密碼

今天的文章沒有格式&#xff0c;簡單分享一個小技能&#xff0c;就是標題所說–非交互式修改密碼。 一、普通方式修改用戶密碼 最普通的修改密碼的命令就是passwd命令 [rootlocalhost ~]# passwd root Changing password for user root. New password: Retype new password:…

一文徹底看懂Python切片,Python切片理解與操作

1.什么是切片 切片是Python中一種用于操作序列類型(如列表、字符串和元組)的方法。它通過指定起始索引和結束索引來截取出序列的一部分,形成一個新的序列。切片是訪問特定范圍內的元素,就是一個Area。 說個笑話:切片不是切片,而是切片,但是又是切片。大家理解下呢(末…

高防cdn防護原理是什么,是否可以防護服務器嗎

隨著互聯網業務的迅速發展&#xff0c;網絡安全問題日益凸顯。在這樣的背景下&#xff0c;高防CDN作為一種有效的網絡安全解決方案&#xff0c;受到了越來越多的關注。那么高防CDN的防護原理是什么呢?接下來就跟小德一起深入了解下吧! 1. 高防CDN的基本概念 我們要明確什么是…

【云原生 Prometheus篇】Prometheus的動態服務發現機制

自動發現 一、Prometheus服務發現 理論部分1.1 Prometheus數據采集配置1.2 基于文件的服務發現1.3 基于consul的服務發現1.4 基于 Kubernetes API 的服務發現1.4.1 概念1.4.2 部分配置參數1.4.3 配置模板 二、實例一&#xff1a;部署基于文件的服務發現2.1 創建用于服務發現的文…

Spring事務底層原理(待完善)

EnableTransactionManagement 我們經常使用EnableTransactionManagement開啟事務, 這個注解導入一個類,Import(TransactionManagementConfigurationSelector.class), 會在spring容器增加兩個bean, AutoProxyRegistrar和ProxyTransactionManagementConfiguration. AutoProxyRe…

IDEA中常用快捷鍵

整理了一些IDEA開發常用的快捷鍵&#xff1a; 快捷鍵組合實現效果psvm Tab鍵 / main Tab鍵public static void main(String[] args)sout Tab鍵System.out.println()Ctrl X刪除當前行Ctrl D復制當前行AltInsert(或右鍵Generate)生成代碼(如get,set方法,構造函數等)CtrlAltT…

存儲區域

將應用程序加載到內存空間執行時&#xff0c;操作系統負責代碼段、數據段和BSS段的加載&#xff0c;并在內存中為這些段分配空間。 棧段亦由操作系統分配和管理&#xff0c;而不需要程序員顯示地管理&#xff1b;堆段由程序員自己管理&#xff0c;即顯示地申請和釋放空間。 進…

uniapp 輪播圖(含組件封裝,自動注冊全局組件)

效果預覽 組件封裝 src\components\SUI_Swiper.vue 可參考官網配置更多屬性 swipernavigator <script setup lang"ts"> import { ref } from vue defineProps({config: Object, })const activeIndex ref(0) const change: UniHelper.SwiperOnChange (e) &…

WPF面試題入門篇

入門篇[2] 1. 談談什么是WPF&#xff1f; WPF&#xff08;Windows Presentation Foundation&#xff09;是微軟公司開發的一種用于創建Windows應用程序的用戶界面框架。它是.NET Framework的一部分&#xff0c;提供了一種基于XAML&#xff08;可擴展應用程序標記語言&#xf…

【算法技巧】位運算

目錄 1.概述2.位運算技巧2.1.與運算 (&)2.1.1.判斷奇偶性2.1.2.判斷一個數是否是 2 的冪2.1.3.將英文字母轉換為大寫2.1.4.代替取模運算 2.2.或運算 (|)2.2.1.將英文字母轉換為小寫 2.3.異或運算 (^)2.3.1.消除成對相同的數2.3.2.不使用臨時變量來交換兩個數2.3.3.進行英文…

一起學docker系列之八使用 Docker 安裝配置 MySQL

目錄 前言步驟 1&#xff1a;拉取 MySQL 鏡像步驟 2&#xff1a;運行 MySQL 容器步驟 3&#xff1a;檢查容器狀態步驟 4&#xff1a;進入 MySQL 容器步驟 5&#xff1a;配置 MySQL 字符編碼步驟 6&#xff1a;重啟 MySQL 容器步驟 7&#xff1a;測試字符編碼步驟 8&#xff1a;…

防止應用程序截屏(容器式,防止極域電子教室和錄屏軟件錄制)

核心原理、實現目的 1、使用Panel容器將外部窗口嵌入自己寫的程序 2、使用防止截屏的函數來對窗口透明&#xff0c;這可以使本窗口內所有窗口在錄屏軟件上消失 3、解放&#xff0c;抓取&#xff0c;存儲句柄&#xff0c;實現擺脫錄屏&#xff08;極域監控&#xff09; 程序…

用 Addon 增強 Node.js 和 Electron 應用的原生能力

前言 Node.js Addon 是 Node.js 中為 JavaScript 環境提供 C/C 交互能力的機制。其形態十分類似 Java 的 JNI&#xff0c;都是通過提供一套 C/C SDK&#xff0c;用于在 C/C 中創建函數方法、進行數據轉換&#xff0c;以便 JavaScript / Java 等語言進行調用。這樣編寫的代碼通常…