vue2面試題——API

1. $set

this.$set(目標對象target,改的位置,最終數據)

/* 數據更新了而視圖沒有更新的情況 */
<template><div>{{ arr }}<button @click='btn'>按鈕</button></div>
</template>
<script>
export default {name: 'HomeView',data () {return {arr:['a','b','c']}},methods:{btn(){// this.arr[1] = 'xxxx'; 這樣寫是不對的,數據會更新但視圖并不會更新this.$set(this.arr, '1', '更新成這個字符串'); // 可以利用$set來使數據和視圖都更新}}
}
</script>

2. $nextTick

$nextTick返回的參數(函數)是異步的

/* 如果想要在beforeCreat或者說created生命周期中想要獲取dom,就可以用到$nextTick*/
export default {name: 'HomeView',created() {this.$nextTick(()=>{console.log( this.$el );})}
}

3. $refs

用來獲取dom的

4. $el

用來獲取當前組件的根節點的

5. $data

用來獲取當前組件的data數據的

6. $children

獲取當前組件的所有子組件

7. $parent

找到當前組件的父組件,如果找不到返回自身

8. $root

找到根組件

9. data定義數據

數據定義在data的return內和return外是不一樣的

<template><div>{{ str }} {{ num }}</div><button @click='btn'>按鈕</button>
</template>
<script>
export default {data() {this.num = 2222; //寫在data的return外面return {str: 1111 // 寫在data的return里面}},methods: {btn(){this.str = 'xxxx' // return里面的數據,是可以被修改的// this.num = 'yyyy' 寫在return外面的數據 單純的是不可以被修改的 因為沒有被get/set}}
}
</script>

10. computed計算屬性

<template><div>{{ str }} {{ changeStr }}</div><button @click='btn'>按鈕</button>
</template>
<script>
export default{data(){return {str: 'abc'}}.computed:{changeStr(){return this.str.slice(-1)}}
}
</script>

computed計算屬性的結果值可以修改嗎?

可以的,但是需要通過get/set寫法

<template><div>{{ str }} {{ changeStr }}</div><button @click='btn'>按鈕</button>
</template>
<script>
export default{data(){return {str: 'abc'}},computed:{changeStr:{get(){return this.str.slice(-2)},set( val ){this.str = val;}}},methods: {btn(){this.changeStr = 'zzzzz';}}
}
</script>

當前組件v-model綁定的值是computed計算而來的,可以修改嗎

可以的,但是需要通過get/set寫法

<template><div>{{ str }} {{ changeStr }}</div><input type="" name="" v-model='changeStr' />
</template>
<script>
export default{data(){return {str: 'abc'}},computed:{changeStr:{get(){return this.str.slice(-2)},set( val ){this.str = val;}}}
}
</script>

11. watch

數據發生變化的時候執行

<template><div>{{ str }}</div><button @click='btn'>按鈕</button>
</template><script>
export default {data() {return {str: '123',}},methods:{btn(){this.str = 'xxxx'}},watch:{str(newVal, oldVal){console.log(newVal,oldVal);}}
}
</script>

讓watch初始化的時候就執行

<template><div>{{ str }}</div><button @click='btn'>按鈕</button>
</template><script>
export default {data() {return {str: '123',}},methods:{btn(){this.str = 'xxxx'}},watch:{str:{handler(newVal,oldVal){console.log(newVal,oldVal)}},immediate: true}
}
</script>

深度監聽

<template><div>{{ str }}</div><button @click='btn'>按鈕</button>
</template><script>
export default {data() {return {str: '123',obj:{a: '1'}}},methods:{btn(){this.str = 'xxxx'this.obj.a = '2'}},watch:{obj:{handler(newVal,oldVal){console.log(newVal,oldVal)}},immediate: true,deep: true}
}
</script>

12. methods和computed區別

methods里面寫的是方法,computed是計算屬性

computed是有緩存機制的,methods是沒有緩存機制的(調用幾次執行幾次)

<template><div>{{ price }}{{ total }}{{ total }}{{ total }}</div>
</template><script>
export default {data(){return {number: 1,price: 29}},computed:{total(){console.log('computed---') // 只會打印一次return this.number*this.price}}
}
</script>
<template><div>{{ price }}{{ total() }}{{ total() }}{{ total() }}</div>
</template><script>
export default {data(){return {number: 1,price: 29}},methods:{total(){console.log('methods----') // 會打印3次return this.price*this.number}}
}
</script>

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

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

相關文章

海康威視攝像頭修復

一、適用場景 1、室外安裝的攝像頭&#xff0c;長時間日曬雨淋后&#xff0c;可能因風向導致雨水進入水晶頭&#xff0c;進而攝像頭無法識別&#xff1b; 2、在經常施工的場地&#xff0c;可能由于車輛的進出&#xff0c;或施工設備的運行導致攝像頭的網線水晶頭斷裂而無法使用…

潯川社團正式啟用 代碼付費制度——潯川總社部

潯川社團正式啟用 代碼付費制度。 規則&#xff1a; 潯川社團源代碼收費標準表&#xff08;1&#xff09; 1-5行代碼0.2元/行1-10行代碼0.3元/行1-20行代碼0.5元/行 潯川社團源代碼收費標準表&#xff08;2&#xff09; 1-30行代碼0.6元/行1-40行代碼0.8元/行1-50行代碼0.09元…

【PythonWeb開發】Flask中間件鉤子函數實現封IP

在 Flask 框架中&#xff0c; 提供了幾種類型的鉤子&#xff08;類似于Django的中間件&#xff09;&#xff0c;它們是在請求的不同階段自動調用的函數。這些鉤子讓你能夠對請求和響應的處理流程進行擴展&#xff0c;而無需修改核心代碼。 Flask鉤子的四種類型 before_first_r…

IT入門知識第八部分《云計算》(8/10)

目錄 云計算&#xff1a;現代技術的新篇章 1. 云計算基礎 1.1 云計算的起源和發展 云計算的早期概念 云計算的發展歷程 1.2 云計算的核心特點 按需自助服務 廣泛的網絡訪問 資源池化 快速彈性 按使用量付費 1.3 云計算的優勢和挑戰 成本效益 靈活性和可擴展性 維…

[leetcode]intersection-of-two-arrays-ii 兩個數組的交集 II

. - 力扣&#xff08;LeetCode&#xff09; class Solution { public:vector<int> intersect(vector<int>& nums1, vector<int>& nums2) {sort(nums1.begin(), nums1.end());sort(nums2.begin(), nums2.end());int length1 nums1.size(), length2 …

動態規劃——123. 買賣股票的最佳時機 III

目錄 1、題目鏈接 2、題目分析 1.狀態表示 2.狀態轉移方程 3.初始化 4.填表 5.返回值 3、代碼解析 1、題目鏈接 123. 買賣股票的最佳時機 III 2、題目分析 1.狀態表示 由題目可知&#xff0c;我們分為兩種狀態&#xff0c;買入和賣出&#xff0c;又因為只能完成兩次交易…

windows下如何配置vs code的編譯環境

在 Windows 上配置 VS Code 的編譯環境涉及安裝編譯器、配置 VS Code 以及編寫和運行代碼。以下是具體的步驟&#xff1a; 步驟 1&#xff1a;安裝必要的軟件 安裝 Visual Studio Code&#xff1a; 訪問 VS Code 的官方網站并下載安裝包。按照安裝向導進行安裝。 安裝 C/C 編譯…

盲源信道分離—FastICA算法性能仿真

本案例中使用Matlab軟件對FastICA算法的聲音分離性能進行了仿真&#xff0c;分別對簡單波形的混合信號、不同類型聲音的混合信號、同一類型的混合信號這三種情況進行仿真&#xff0c;主要從分離信號的波形形狀、串音誤差兩方面對分離性能進行衡量&#xff0c;仿真結果顯示快速I…

Gradle學習-3 Gradle構建的生命周期

Gradle常用文件目錄 Gradle 構建的生命周期&#xff0c;有3個階段: 初始化階段配置階段執行階段 1、初始化階段 Gradle 支持構建單個工程個多個子工程&#xff0c;初始化階段主要負責收集所有參與本次構建的子工程&#xff0c;創建一個項目的層次結構&#xff0c;并未每個…

SpringBoot優點達項目實戰:獲取系統配置接口(三)

SpringBoot優點達項目實戰&#xff1a;獲取系統配置接口&#xff08;二&#xff09; 文章目錄 SpringBoot優點達項目實戰&#xff1a;獲取系統配置接口&#xff08;二&#xff09;1、查看接口2、查看數據庫3、代碼實現1、創建實體類SysConfig2、創建返回數據的vo3、創建control…

【INTEL(ALTERA)】Eclipse Nios II SBT 無法從模板創建新應用程序和 BSP

目錄 說明 解決方法 說明 您應該能夠創建新的應用程序和 BSP 模板包含以下步驟&#xff1a; 選擇 Nios II應用程序和 BSP 來自模板。選擇您的.sopcinfo 文件并選擇模板。從您的工作區單擊 選擇現有的 BSP 項目。單擊 創建。選擇所需的 BSP 選項。單擊 完成。 但是&#xf…

API 安全策略和基礎指南

API 是當今數字創新計劃的核心&#xff0c;已成為應用程序的頭號攻擊載體。了解什么是 API 安全、為什么它如此重要&#xff0c;以及如何保護您的 API 免受現代威脅至關重要。 什么是 API 安全&#xff1f; 應用程序編程接口&#xff08;API&#xff09;是現代應用程序的基石…

PostgreSQL教程:開啟您的數據庫之旅

PostgreSQL教程&#xff1a;開啟您的數據庫之旅 PostgreSQL是一種開源的對象關系型數據庫管理系統&#xff08;ORDBMS&#xff09;&#xff0c;它以其強大的功能、穩定性和高度的可擴展性而聞名。作為一個功能豐富的數據庫系統&#xff0c;PostgreSQL支持復雜的查詢、強大的事…

Python 面試題解析

Python 面試題解析 Python 作為一種廣泛使用的編程語言&#xff0c;其面試題目通常覆蓋了語言基礎、數據結構、算法、設計模式、Web 開發、測試、數據庫、系統設計等多個方面。以下是一些常見的 Python 面試題及其解析&#xff0c;使用 Markdown 格式編寫。 1. Python 基礎 …

Linux-筆記 OverlayFS文件系統小應用

前言 通過另一章節 OverlayFS文件系統入門 中已經大致了解了原理&#xff0c;這里來實現一個小應用。

大模型性能優化KV Cache

原理 KV Cache的本質就是避免重復計算&#xff0c;把需要重復計算的結果進行緩存&#xff0c;生成式模型的新的token的產生需要用到之前的所有token的 K , V K,V K,V&#xff0c;在計算注意力的時候是當前的 Q Q Q和所有的 K , V K,V K,V來進行計算&#xff0c;所以是緩存 K ,…

打破數據分析壁壘:SPSS復習必備(九)

有序定性資料統計推斷 1.分類 單向有序行列表 雙向有序屬性相同行列表 雙向有序屬性不同行列表 2.單向有序行列表 秩和檢驗 ① 兩組單向有序分類資料 ②多組單向有序定性資料 步驟&#xff1a; 1.建立檢驗假設和確定檢驗水準 2.編秩 3.求秩和 4.確定檢驗統計量 5…

按位與、或、異或操作符

目錄 & --- 按位與操作符 按位與操作符運用規則 按位與操作符相關代碼 按位與操作符相關代碼驗證 | --- 按位或操作符 按位或操作符運用規則 按位或操作符相關代碼 按位或操作符相關代碼驗證 ^ --- 按位異或操作符 按位異或操作符運用規則 按位異或操作符相關代…

分頁組件 vue/uniapp

失效如上圖 1.父組件調用 <onion-pagination :page.sync="todusGameQuery.pageSize" @update:page="changeTodusLoadMore":pageSize="todusGameQuery.pageNum" :total="todusGameTotal"></onion-pagination> 2.組件封裝…

海納斯 hinas 的hi3798mv100 華為悅盒 6108v9 安裝wifi模塊

hi3798mv100安裝wifi模塊 1.執行腳本 &#xff0c;執行完畢后重啟服務器2. 繼續執行腳本3.檢查網卡驅動安裝是否正確4.查看網卡安裝狀態5.連接wifi結尾 1.執行腳本 &#xff0c;執行完畢后重啟服務器 bash <(curl -sSL https://gitee.com/xjxjin/scripts/raw/main/install_…