最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue中同時(shí)監(jiān)聽多個(gè)參數(shù)的實(shí)現(xiàn)

 更新時(shí)間:2022年04月08日 14:31:45   作者:otatoz  
這篇文章主要介紹了vue中同時(shí)監(jiān)聽多個(gè)參數(shù)的實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

如何同時(shí)監(jiān)聽多個(gè)參數(shù)

vue使用watch同時(shí)監(jiān)聽多個(gè)參數(shù),其中有任意一個(gè)參數(shù)發(fā)生改變時(shí),都會被監(jiān)聽到需要使用到計(jì)算屬性computed與監(jiān)聽watch

data中定義一個(gè)對象

data(){
? ? return{
? ? ? ? obj:{
? ? ? ? ? ? name:'xpf',
? ? ? ? ? ? gender:'male',
? ? ? ? ? ? age:24
?? ?}
? ? }
}
  • computed中:將需要監(jiān)聽的參數(shù)放入一個(gè)新變量中
computed:{
? ? 'newParams':function(){
? ? ? ? const {name,age} = this.obj
? ? ? ? return {name,age}
? ? }?? ?
},
  • watch中:監(jiān)聽新的變量
watch:{
? ? newParams:function(){
? ? ? ? alert(1)
? ? }
},

完整代碼

<!DOCTYPE html>
<html lang="en">
<head>
?? ?<meta charset="UTF-8">
?? ?<title>watch同時(shí)監(jiān)聽多個(gè)屬性</title>
?? ?<script src="https://cdn.bootcss.com/vue/2.6.10/vue.js"></script>
</head>
<body>
?? ?<div id="app">
?? ??? ?<div @click="changeObj">點(diǎn)我</div>
?? ?</div>?? ?
?? ?<script>
?? ??? ?new Vue({
?? ??? ??? ?el:'#app',
?? ??? ??? ?data(){
?? ??? ??? ??? ?return{
?? ??? ??? ??? ??? ?obj:{
?? ??? ??? ??? ??? ??? ?name:'xpf',
?? ??? ??? ??? ??? ??? ?gender:'male',
?? ??? ??? ??? ??? ??? ?age:24
?? ??? ??? ??? ??? ?}
?? ??? ??? ??? ?}
?? ??? ??? ?},
?? ??? ??? ?computed:{
?? ??? ??? ??? ?'newParams':function(){
?? ??? ??? ??? ??? ?const {name,age} = this.obj
?? ??? ??? ??? ??? ?return {name,age}
?? ??? ??? ??? ?}?? ?
?? ??? ??? ?},
?? ??? ??? ?watch:{
?? ??? ??? ??? ?newParams:function(){
?? ??? ??? ??? ??? ?alert(1)
?? ??? ??? ??? ?}
?? ??? ??? ?},
?? ??? ??? ?methods:{
?? ??? ??? ??? ?changeObj(){
?? ??? ??? ??? ??? ?// this.obj.name = 'xx'
?? ??? ??? ??? ??? ?this.obj.age = 21
?? ??? ??? ??? ?}
?? ??? ??? ?}
?? ??? ?})
?? ?</script>
</body>
</html>

vue事件監(jiān)聽,條件判斷

事件監(jiān)聽 v-on

語法糖@

1. 基本的使用法法

? ? <div id="add">
? ? ? ? 點(diǎn)擊次數(shù){{counter}}
? ? ? ? ?<button @click = "add">+</button> <!--v-on:click = "" 語法糖 ?-->
? ? ? ? <button @click = "dec">-</button>
? ? </div>
? ? <script src="../js/vue.js"></script>
? ? <script>
? ? ? ? const add = new Vue({
? ? ? ? ? ? el:'#add',
? ? ? ? ? ? data:{
? ? ? ? ? ? ? ? counter:0
? ? ? ? ? ? },
? ? ? ? ? ? methods:{
? ? ? ? ? ? ? ? add:function(){
? ? ? ? ? ? ? ? ? ? console.log('添加了');
? ? ? ? ? ? ? ? ? ? this.counter++
? ? ? ? ? ? ? ? },
? ? ? ? ? ? ? ? dec:function(){
? ? ? ? ? ? ? ? ? ? console.log('減少了');
? ? ? ? ? ? ? ? ? ? this.counter--
? ? ? ? ? ? ? ? }
? ? ? ? ? ? }
? ? ? ? }) ?
? ? </script>

2. 事件監(jiān)聽帶參數(shù)的使用方法

不帶參數(shù),寫函數(shù)時(shí),小括號可寫可不寫

<button @click = "one">按鈕1</button>
<button @click = "one()">按鈕2</button>

帶有參數(shù)時(shí),寫函數(shù)時(shí),小括號要寫,傳進(jìn)的參數(shù)也要寫

<button @click = "two">按鈕2</button> <!-- 默認(rèn)輸出 瀏覽器生產(chǎn)的event事件對象 -->
<button @click = "two()">按鈕3</button> <!-- 輸出 undefind -->
<button @click = "two(123)">按鈕4</button> ?<!-- 輸出 123 ?-->

即帶參數(shù)有帶event

<button @click = "three(123,$event) ">按鈕5</button>

在小括號里添加$event可即添加參數(shù)又添加event事假

3.事件對象的修飾符

  • .stop相當(dāng)于事件對象的stopPropagaton,阻止冒泡事件
?<div @click = "one">父親
? ? ? <button @click.stop = "two">兒子</button>
? ? </div>
  • .prevent阻止默認(rèn)事件 preventDefault
<a  rel="external nofollow"  @click.prevent = "two">百度一下</a>
  • keyup監(jiān)聽某個(gè)鍵盤鍵帽
  • .enter只監(jiān)聽回車鍵
<input type="text" @keyup= "two">
<input type="text" @keyup.enter = "two">
  • .once只監(jiān)聽一次
<button @click.once = "two">按鈕</button>

條件判斷

1.v-if的基本使用

?<div id="add">
? ? <div v-if = "true">{{message}}</div>
? ? <div v-if = "false">{{name}}</div>
?
? ? <div v-if = "isShow">
? ? ? <h2>ccc</h2>
? ? ? <h2>ccc</h2>
? ? ? <h2>ccc</h2>
? ? ? <h2>ccc</h2>
? ? </div>

為true顯示,為false隱藏,可設(shè)置一個(gè)變量isShow來控制

2.v-if和v-else使用

?<div id="add">
? ? <h2 v-if = "isShow">我是你爸爸</h2>
? ? <h2 v-else>不,我才是你爸爸</h2>
? </div>

兩者只能顯示一個(gè)當(dāng)變量isShow為true時(shí),else隱藏,同理相反

3.v-if和v-else-if和v-lese使用

<h2 v-if = "message >=90"> 優(yōu)秀 </h2>
?<h2 v-else-if = "message >=80"> 良好 </h2>
?<h2 v-else-if = "message >=70"> 及格 </h2>
?<h2 v-else> 不及格 </h2>

3個(gè)結(jié)合可讀性差,不建議

可在computed里封裝一個(gè)函數(shù)

?computed: {
? ? ? ? result(){
? ? ? ? ? let num = " "
? ? ? ? ? if (this.message >=90) {
? ? ? ? ? ? num = '優(yōu)秀'
? ? ? ? ? }else if(this.message >= 80){
? ? ? ? ? ? num = '良好'
? ? ? ? ? }else{
? ? ? ? ? ? num = "不及格"
? ? ? ? ? }
? ? ? ? ? return num
? ? ? ? }
? ? ? }

在調(diào)用,可讀性較好 

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。 

相關(guān)文章

  • 淺談vue中$event理解和框架中在包含默認(rèn)值外傳參

    淺談vue中$event理解和框架中在包含默認(rèn)值外傳參

    這篇文章主要介紹了淺談vue中$event理解和框架中在包含默認(rèn)值外傳參,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08
  • 解決vue無法偵聽數(shù)組及對象屬性的變化問題

    解決vue無法偵聽數(shù)組及對象屬性的變化問題

    這篇文章主要介紹了解決vue無法偵聽數(shù)組及對象屬性的變化問題,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • Vue中el-table條件渲染防止樣式亂掉(解決方法)

    Vue中el-table條件渲染防止樣式亂掉(解決方法)

    這篇文章主要介紹了Vue中el-table條件渲染防止樣式亂掉問題,通過使用:key="Math.random()" 可解決樣式錯(cuò)亂問題,此key屬性是vue自帶的特殊屬性,主要用在 Vue 的虛擬 DOM 算法,在新舊 nodes 對比時(shí)辨識 VNodes,依次來提升頁面渲染性能,感興趣的朋友一起看看吧
    2023-11-11
  • Vue.js狀態(tài)管理之Pinia與Vuex詳解

    Vue.js狀態(tài)管理之Pinia與Vuex詳解

    Pinia和Vuex一樣都是是vue的全局狀態(tài)管理器,其實(shí)Pinia就是Vuex5,只不過為了尊重原作者的貢獻(xiàn)就沿用了名字Pinia,下面這篇文章主要給大家介紹了關(guān)于Vue.js狀態(tài)管理之Pinia與Vuex的相關(guān)資料,需要的朋友可以參考下
    2023-02-02
  • vue2.0移除或更改的一些東西(移除index key)

    vue2.0移除或更改的一些東西(移除index key)

    這篇文章主要介紹了vue2.0移除或更改的一些東西,vue2.0 移除了index和key,具體內(nèi)容詳情大家參考下本文
    2017-08-08
  • vue Tab切換以及緩存頁面處理的幾種方式

    vue Tab切換以及緩存頁面處理的幾種方式

    這篇文章主要介紹了vue Tab切換以及緩存頁面處理的幾種方式,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • vue實(shí)現(xiàn)form表單與table表格的數(shù)據(jù)關(guān)聯(lián)功能示例

    vue實(shí)現(xiàn)form表單與table表格的數(shù)據(jù)關(guān)聯(lián)功能示例

    這篇文章主要介紹了vue實(shí)現(xiàn)form表單與table表格的數(shù)據(jù)關(guān)聯(lián)功能,涉及vue.js表單事件響應(yīng)及頁面元素屬性動(dòng)態(tài)操作相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2019-01-01
  • vue3中事件處理@click的用法詳解

    vue3中事件處理@click的用法詳解

    @click指令用于監(jiān)聽元素的點(diǎn)擊事件,并在觸發(fā)時(shí)執(zhí)行相應(yīng)的處理函數(shù),在Vue3中,事件處理就可以通過@click指令來實(shí)現(xiàn),下面我們就來看看如何在Vue3中處理點(diǎn)擊事件吧
    2023-08-08
  • Vue 動(dòng)態(tài)添加路由及生成菜單的方法示例

    Vue 動(dòng)態(tài)添加路由及生成菜單的方法示例

    這篇文章主要介紹了Vue 動(dòng)態(tài)添加路由及生成菜單的方法示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • 從vue基礎(chǔ)開始創(chuàng)建一個(gè)簡單的增刪改查的實(shí)例代碼(推薦)

    從vue基礎(chǔ)開始創(chuàng)建一個(gè)簡單的增刪改查的實(shí)例代碼(推薦)

    這篇文章主要介紹了從vue基礎(chǔ)開始創(chuàng)建一個(gè)簡單的增刪改查的實(shí)例代碼,需要的朋友參考下
    2018-02-02

最新評論

哈巴河县| 万载县| 民和| 资源县| 黑河市| 盘锦市| 绵竹市| 车险| 满城县| 名山县| 阳曲县| 揭西县| 昌图县| 邓州市| 蒲城县| 麻江县| 盐城市| 麻阳| 衡阳市| 陆河县| 固原市| 垫江县| 南雄市| 泰安市| 吴江市| 佛冈县| 阳高县| 新乐市| 延安市| 池州市| 日照市| 疏附县| 凤庆县| 沐川县| 合山市| 汾阳市| 门头沟区| 铜陵市| 双牌县| 武义县| 新河县|