Vue 中 data、watch、created 和 methods

以下是 Vue 中 datawatchcreatedmethods 的詳細解釋,結合常見使用場景和示例:


1. data:響應式數據容器

  • 作用:定義組件的響應式數據(狀態),當數據變化時,視圖自動更新。
  • 特點
    • 必須是一個函數,返回數據對象(避免多個組件實例共享同一對象)。
    • 數據會被 Vue 的響應式系統劫持,自動追蹤變化。
  • 示例
    data() {return {message: "Hello Vue!",count: 0};
    }
    
    • 在模板或方法中通過 this.message 訪問。

2. watch:監聽數據變化

  • 作用:觀察 data 或計算屬性的變化,執行副作用操作(如異步請求、復雜邏輯)。
  • 特點
    • 支持深度監聽對象/數組內部變化(deep: true)。
    • 可設置 immediate: true 在初始化時立即觸發回調。
  • 示例
    watch: {count(newVal, oldVal) {console.log(`count 從 ${oldVal} 變為 ${newVal}`);},user: {handler(newVal) {// 監聽對象內部變化},deep: true,immediate: true}
    }
    

3. created:生命周期鉤子

  • 觸發時機:組件實例創建完成,數據觀測(data)已完成,但 DOM 未掛載。
  • 典型用途
    • 初始化數據(如從 API 獲取數據)。
    • 添加事件監聽(需在 beforeDestroy 中移除)。
  • 示例
    created() {fetch("/api/data").then(response => response.json()).then(data => {this.message = data.message; // 更新響應式數據});
    }
    

4. methods:方法集合

  • 作用:定義組件內的事件處理函數或工具方法。
  • 特點
    • 方法中的 this 自動綁定到組件實例。
    • 可直接修改 data 中的數據(觸發響應式更新)。
  • 示例
    methods: {increment() {this.count++; // 修改 data 中的 count},showAlert() {alert(this.message);}
    }
    

協作流程示例

export default {data() {return { count: 0 };},created() {// 初始化時設置 countthis.count = 10;},methods: {increment() {this.count++;}},watch: {count(newVal) {console.log("count 變化:", newVal);}}
};
  1. created 鉤子將 count 初始化為 10。
  2. 用戶點擊按鈕觸發 increment 方法,count 增加。
  3. watch 監聽到 count 變化,打印日志。

關鍵區別

特性datawatchcreatedmethods
用途存儲響應式數據監聽數據變化初始化操作定義事件/邏輯方法
執行時機組件初始化時生成數據變化時觸發組件創建后,DOM 前按需調用
響應式是(需顯式監聽)

常見問題

  • 為什么 data 必須是函數?
    避免多個組件實例共享同一數據對象,導致狀態污染。

  • watch vs computed

    • computed:依賴其他數據計算新值(緩存機制)。
    • watch:觀察數據變化執行副作用(如異步操作)。
  • created vs mounted

    • created:數據已初始化,DOM 未生成。
    • mounted:DOM 已掛載,可操作 DOM 元素。

案例搭載
功能說明
用戶可通過下拉框選擇設備模式(Bridge_VLAN35/Bridge_UNTAG/Router1)
選中值雙向綁定到 DeviceFromData.mode 字段
選項變化時觸發 deviceModeChange 方法

<el-select v-model="DeviceFromData.mode" @change="deviceModeChange"id="wansMesh_basic_device_mode_select"placeholder="請選擇設備模式"clearablefilterablestyle="width: 100%"
><el-option v-for="mode in deviceModes":key="mode.value":label="mode.label":value="mode.value":id="`mode-option-${mode.value}`":disabled="mode.disabled"/>
</el-select>
// Vue 數據部分
data() {return {DeviceFromData: {mode: '' // 初始值},deviceModes: [{ label: "Bridge_VLAN35", value: "bridge_vlan35",disabled: false },{ label: "Bridge_UNTAG", value: "bridge_untag",disabled: false },{ label: "Router1", value: "router",disabled: true // 示例禁用選項}]};
},
methods: {deviceModeChange(newVal) {console.log('模式已變更為:', newVal);// 可在此處添加業務邏輯}
}

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

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

相關文章

精密模具冷卻孔內輪廓檢測方法探究 —— 激光頻率梳 3D 輪廓檢測

引言精密模具冷卻孔的內輪廓精度直接影響注塑成型效率與制品質量。冷卻孔具有深徑比大&#xff08;可達 25:1&#xff09;、結構復雜&#xff08;多為螺旋形或異形&#xff09;、表面質量要求高&#xff08;Ra≤0.2μm&#xff09;等特點&#xff0c;傳統檢測方法難以滿足其高精…

Vue單文件組件與腳手架工程化開發

一、Vue與VueComponent原型關系解析1. 原型鏈關系圖解在Vue中&#xff0c;組件實例(VueComponent)與Vue實例之間存在特殊的原型鏈關系&#xff1a;VueComponent.prototype.__proto__ Vue.prototype這種設計使得所有組件都能訪問Vue原型上定義的方法和屬性。2. 原理驗證示例// …

架構設計之計算高性能——單體服務器高性能

架構設計之計算高性能——單體服務器高性能 高性能是每個程序員共同的追求&#xff0c;無論是開發系統&#xff0c;還是僅僅只是寫一段腳本&#xff0c;都希望能夠達到高性能的效果&#xff0c;而高性能又是軟件系統設計中最復雜的一步。無論是開發千萬級并發的電商系統&#…

Unity燈光面板環境設置

在Unity中&#xff0c;環境設置&#xff08;Environment Lighting&#xff09; 是燈光面板&#xff08;Lighting Window&#xff09;的核心功能之一&#xff0c;用于控制場景的全局光照效果&#xff0c;包括天空盒、環境光、反射和霧效等。這些設置直接影響場景的整體氛圍和真實…

MySQL語句優化案例

1.案例in查詢條件很慢其中in中共115個select id,detail_id,request,response,utime,ctime from response_detaill where detaill_id in (26371986, 26372242, 26371984, 26371990, 26400150, 26371988, 26371994, 26371992,26371998, 26371996, 26371970, 26371968, 2637197…

能行為監測算法:低成本下的高效管理

AI監控智慧公司管理&#xff1a;降本增效的實踐與突破一、背景&#xff1a;經濟壓力下的管理轉型需求在經濟下行周期&#xff0c;企業面臨人力成本攀升、管理效率低下、安全風險頻發等多重挑戰。傳統監控依賴人工巡檢&#xff0c;存在響應滯后、誤判率高、數據孤島等問題&#…

當前(2024-07-14)視頻插幀(VFI)方向的 SOTA 基本被三篇頂會工作占據,按“精度-速度-感知質量”三條線總結如下,供你快速定位最新范式

當前&#xff08;2024-07-14&#xff09;視頻插幀&#xff08;VFI&#xff09;方向的 SOTA 基本被三篇頂會工作占據&#xff0c;按“精度-速度-感知質量”三條線總結如下&#xff0c;供你快速定位最新范式。感知質量最佳&#xff1a;CVPR 2024 ? PerVFI ? 關鍵詞&#xff1a;…

開源 python 應用 開發(七)數據可視化

最近有個項目需要做視覺自動化處理的工具&#xff0c;最后選用的軟件為python&#xff0c;剛好這個機會進行系統學習。短時間學習&#xff0c;需要快速開發&#xff0c;所以記錄要點步驟&#xff0c;防止忘記。 鏈接&#xff1a; 開源 python 應用 開發&#xff08;一&#xf…

基于深度學習的情感分析模型:從文本數據到模型部署

前言 情感分析&#xff08;Sentiment Analysis&#xff09;是自然語言處理&#xff08;NLP&#xff09;領域中的一個重要應用&#xff0c;它通過分析文本數據來判斷文本的情感傾向&#xff0c;例如正面、負面或中性。隨著社交媒體的興起&#xff0c;情感分析在市場調研、品牌管…

使用python 實現一個http server

下面是一個使用 Python 內置庫 http.server 的簡單 HTTP 服務器實現。不需要安裝任何第三方庫&#xff0c;非常適合做演示或開發測試用。 from http.server import HTTPServer, BaseHTTPRequestHandlerclass SimpleHTTPRequestHandler(BaseHTTPRequestHandler):def do_GET(self…

Redis技術筆記-主從復制、哨兵與持久化實戰指南

目錄 前言 一、Redis主從復制 &#xff08;一&#xff09;Redis主從復制介紹 &#xff08;二&#xff09;基本環境準備 &#xff08;三&#xff09;工作原理 &#xff08;四&#xff09;結構模式 &#xff08;五&#xff09;一主一從&#xff08;無密碼&#xff09; 配置…

sundog公司的SilverLining SDK庫實現3d動態云層和下雨、下雨、雨夾雪效果

OSG系列文章目錄 文章目錄OSG系列文章目錄前言一、3d動態云與下雨、下雪效果不能同時出現二、3d動態云與下雨、下雪效果不能同時出現的原因三、解決辦法&#xff1a;前言 先看下效果&#xff1a;下雨 效果&#xff1a;下雪 效果&#xff1a;雨夾雪 &#x1f324;? Sundo…

Python:簡易的 TCP 服務端與客戶端示例

下面是一個完整的 TCP 服務端與客戶端示例&#xff0c;適用于 Python 3&#xff0c;使用 socket 模塊&#xff0c;并正確處理了中文傳輸與異常情況&#xff0c;支持基本的多輪通信。TCP 服務端&#xff08;server_tcp.py&#xff09;import socket HOST 127.0.0.1 # 監聽本地…

文心一言 4.5 開源深度剖析:中文霸主登場,開源引擎重塑大模型生態

> 百度用一場徹底的開源風暴,宣告中文大模型進入性能與普惠并重的新紀元——這里沒有技術黑箱,只有開發者手中躍動的創新火花。 2025年,當全球大模型競賽進入深水區,百度文心一言4.5的開源如同一顆重磅炸彈,徹底打破了“閉源即領先”的固有認知。這一次,中國團隊不…

解決“Windows 無法啟動服務”問題指南

錯誤1067&#xff1a;進程意外終止一、重啟計算機有時系統出現臨時性的服務故障&#xff0c;重啟計算機就可以有效解決問題。需要注意的是&#xff0c;在重啟之前&#xff0c;需要保存好所有未保存的工作&#xff0c;以免數據丟失。重啟完成后&#xff0c;再次嘗試啟動相關服務…

銀河麒麟(Kylin) - V10 GFB高級服務器操作系統ARM64部署昇騰910b訓練機以及Docker安裝

銀河麒麟(Kylin) - V10 GFB高級服務器操作系統ARM64部署昇騰910b訓練機以及Docker安裝 原因 項目需要使用Deepseek-r1-distill-qwen-32b來做訓練&#xff0c;在此記錄 測試環境 服務器配置 型號&#xff1a;G5680V2 CPU&#xff1a;CPU 4Kunpeng 920-5250 NPU&#xff1a;NP…

消息中間件(Kafka VS RocketMQ)

目錄 一、概要介紹 二、架構與原理 三、消費模式 1、Kafka—純拉模式 2、RocketMQ—拉模式 3、RocketMQ—推模式 4、模式對比 四、特殊消息 1、順序消息 2、消息過濾 3、延遲消息 4、事務消息 5、廣播消息 五、高吞吐 六、高可用 七、高可靠 一、概要介紹 Apa…

MyBatis級聯查詢深度解析:一對多關聯實戰指南

MyBatis級聯查詢深度解析&#xff1a;一對多關聯實戰指南在實際企業級開發中&#xff0c;單表操作僅占20%的場景&#xff0c;而80%的業務需求涉及多表關聯查詢。本文將以一對多關系為例&#xff0c;深入剖析MyBatis級聯查詢的實現原理與最佳實踐&#xff0c;助你掌握高效的數據…

搜索框的顯示與隱藏(展開與收起)

效果如下直接上代碼v-if"showAll || 0 < 3" 的意思是&#xff1a;如果 showAll 為 true&#xff0c;或者 0 小于 3&#xff0c;這個表單項就會顯示。<el-form :inline"true" class"demo-form-inline" size"default" label-width…

01 啟動流程實例

前言本文基于 Activiti 7.0.0.GA 源碼&#xff0c;研究 Activiti 如何啟動一個流程實例。審批流程圖如下圖&#xff0c;在此流程圖中&#xff0c;存在兩個UserTask節點&#xff0c;第一個節點是主管審批&#xff0c;第二個節點是產品經理審批&#xff0c;兩個節點中間有一個排他…