欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

vue前端測(cè)試開(kāi)發(fā)watch監(jiān)聽(tīng)data的數(shù)據(jù)變化

 更新時(shí)間:2022年05月31日 16:53:46   作者:把蘋(píng)果咬哭的測(cè)試筆記  
這篇文章主要為大家介紹了vue測(cè)試開(kāi)發(fā)watch監(jiān)聽(tīng)data的數(shù)據(jù)變化,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

watch監(jiān)聽(tīng)data的數(shù)據(jù)變化

上一篇里提到了用elementUI的select實(shí)現(xiàn)了個(gè)遠(yuǎn)程搜索的功能,最終效果是這樣的。

但是繼續(xù)開(kāi)發(fā)的時(shí)候,又遇到了一個(gè)新的問(wèn)題,跟上面的功能有關(guān)。

先看下遠(yuǎn)程搜索的操作,與data里的數(shù)據(jù)關(guān)系。

  • 當(dāng)輸入“張”進(jìn)行搜索,看到的下拉列表里展示的結(jié)果都是存放在data的options: []。
  • 當(dāng)我選擇了一個(gè),比如“張三”,因?yàn)閟elect框做了綁定v-model="user_value",所以此時(shí)user_value有了對(duì)應(yīng)人員的值,存放的是id。
  • 最后的ad_real_name是后加的,因?yàn)槲矣幸粋€(gè)接口要改動(dòng),本來(lái)只要傳id的,現(xiàn)在還要多傳入個(gè)收貨人的姓名。

新問(wèn)題

之前只傳id,做起來(lái)就很簡(jiǎn)單,因?yàn)榻壎藆ser_value了,直接用就好了。
但是現(xiàn)在我需要把a(bǔ)d_real_name也傳過(guò)去,問(wèn)題是我如何在user_value有值(id)的時(shí)候,把id對(duì)應(yīng)人的姓名賦給ad_real_named。

解決

我先試著同一個(gè)事件里面能不能調(diào)用2個(gè)方法,結(jié)果不太行。

再后來(lái)我就想到監(jiān)聽(tīng)了,當(dāng)點(diǎn)擊了人員后,user_value此時(shí)被賦值,如果我監(jiān)聽(tīng)這個(gè)字段,當(dāng)有值的時(shí)候,去把人名賦給ad_real_name即可。

接下來(lái)就是代碼實(shí)現(xiàn)了:

1. 先把姓名的值,也加到options里

這個(gè)options是個(gè)列表,里面的元素是一個(gè)個(gè)對(duì)象{},對(duì)象里就是key-value。之前只放了{(lán)value:"", label: ""},現(xiàn)在我要把a(bǔ)d_real_name也放進(jìn)去,變成{value:"", label: "", ad_real_name: ""}。

2. 在監(jiān)聽(tīng)里增加for循環(huán)和判斷

當(dāng)選擇了人員之后,此時(shí)for循環(huán)這個(gè)options,遍歷每一個(gè)對(duì)象。然后判斷當(dāng)對(duì)象里的value=選定的user_value,就把這個(gè)對(duì)象中的"ad_real_name"對(duì)應(yīng)值賦給data里的字段ad_real_name。

為了快速驗(yàn)證效果,在console里加了log打印。最終的代碼是:

watch: {
    user_value:function() {
        for (let i=0; i<this.options.length; i++) {
            if (this.options[i]['value'] === this.user_value) {
                this.ad_real_name = this.options[i]['ad_real_name'];
                console.log("打印this.ad_real_name", this.ad_real_name)
            }
        }
    }
},
  • user_value:表示我要監(jiān)聽(tīng)這個(gè)字段。
  • function():這里寫(xiě)監(jiān)聽(tīng)到變化后,要做的處理。

F12打開(kāi)控制臺(tái),目標(biāo)達(dá)成。

或許還有別的更快捷的方法,但是畢竟我是前端小白,快速解決問(wèn)題為首要,如果大佬們有更好的寫(xiě)法建議,還請(qǐng)不吝賜教。

-----------------2021-05-25------------更-------------

往后開(kāi)發(fā)的時(shí)候發(fā)現(xiàn)還是有些問(wèn)題,F(xiàn)12看了下,傳遞到接口的值ad_real_name還是null。

但是控制臺(tái)輸出這個(gè)字段又是有值的。于是我猜想,是不是事件觸發(fā)的太快了,也就是說(shuō)ad_real_name其實(shí)還沒(méi)來(lái)得及賦上值,就發(fā)送后端請(qǐng)求了。

于是,我處理了下后端發(fā)送請(qǐng)求的方法,加了個(gè)延遲500ms。

getReceiveOperatorToken() {
    setTimeout(() => {
        this.$axios.post('/api/receiveGoodsQuickly/getReceiveOperatorToken', {
            'sm_admin_id': this.user_value,
            'receive_wh_id': this.receive_wh_id,
            'ad_real_name': this.ad_real_name,
            'mchid': 6001
        }).then((response) => {
            if (response.data['code'] === 0) {
                this.receive_operator_token = response.data['content'];
                this.$message({
                    type: 'success',
                    message: '收貨人token獲取成功'
                })
            } else {
                this.$message({
                    type: 'warning',
                    message: response.data['errormsg'],
                });
            }
        })
    }, 500); // 用setTimeout()
},

成功解決。

以上就是vue測(cè)試開(kāi)發(fā)watch監(jiān)聽(tīng)data的數(shù)據(jù)變化的詳細(xì)內(nèi)容,更多關(guān)于vue測(cè)試watch監(jiān)聽(tīng)data數(shù)據(jù)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • vue移動(dòng)端時(shí)彈出側(cè)邊抽屜菜單效果

    vue移動(dòng)端時(shí)彈出側(cè)邊抽屜菜單效果

    這篇文章主要介紹了vue移動(dòng)端時(shí)彈出側(cè)邊抽屜菜單,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-06-06
  • vue打包上傳服務(wù)器加載提示錯(cuò)誤Loading chunk {n} failed

    vue打包上傳服務(wù)器加載提示錯(cuò)誤Loading chunk {n} failed

    這篇文章主要為大家介紹了vue打包上傳服務(wù)器加載提示錯(cuò)誤Loading chunk {n} failed解決方法,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-08-08
  • VUE3.2項(xiàng)目使用Echarts5.4詳細(xì)步驟總結(jié)

    VUE3.2項(xiàng)目使用Echarts5.4詳細(xì)步驟總結(jié)

    Vue3.2是一款非常流行的JavaScript框架,它讓在前端領(lǐng)域開(kāi)發(fā)變得更加的便捷,下面這篇文章主要給大家介紹了關(guān)于VUE3.2項(xiàng)目使用Echarts5.4的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-06-06
  • 從零開(kāi)始封裝自己的自定義Vue組件

    從零開(kāi)始封裝自己的自定義Vue組件

    如何封裝自己的Vue組件,如何把自己的Vue代碼封裝成公共組件,今天為大家簡(jiǎn)單介紹一下如何封裝自己的Vue組件
    2018-10-10
  • vue打包之后配置統(tǒng)一請(qǐng)求地址步驟詳解

    vue打包之后配置統(tǒng)一請(qǐng)求地址步驟詳解

    這篇文章主要為大家介紹了vue打包之后配置統(tǒng)一請(qǐng)求地址實(shí)現(xiàn)步驟詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-07-07
  • Vue實(shí)現(xiàn)簡(jiǎn)單基礎(chǔ)的圖片裁剪功能

    Vue實(shí)現(xiàn)簡(jiǎn)單基礎(chǔ)的圖片裁剪功能

    這篇文章主要為大家詳細(xì)介紹了如何利用Vue2實(shí)現(xiàn)簡(jiǎn)單基礎(chǔ)的圖片裁剪功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起了解一下
    2022-09-09
  • 使用Vue3+Vant組件實(shí)現(xiàn)App搜索歷史記錄功能(示例代碼)

    使用Vue3+Vant組件實(shí)現(xiàn)App搜索歷史記錄功能(示例代碼)

    最近接了個(gè)項(xiàng)目需要開(kāi)發(fā)一個(gè)app項(xiàng)目,由于是第一次接觸這種app開(kāi)發(fā),經(jīng)過(guò)一番思考,決定使用Vue3+Vant前端組件的模式進(jìn)行開(kāi)發(fā),下面把問(wèn)題分析及實(shí)現(xiàn)代碼分享給大家,需要的朋友參考下吧
    2021-06-06
  • vue3中調(diào)用api接口實(shí)現(xiàn)數(shù)據(jù)的渲染以及詳情方式

    vue3中調(diào)用api接口實(shí)現(xiàn)數(shù)據(jù)的渲染以及詳情方式

    這篇文章主要介紹了vue3中調(diào)用api接口實(shí)現(xiàn)數(shù)據(jù)的渲染以及詳情方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • Vue使用正則校驗(yàn)文本框?yàn)檎麛?shù)

    Vue使用正則校驗(yàn)文本框?yàn)檎麛?shù)

    這篇文章主要介紹了Vue使用正則校驗(yàn)文本框?yàn)檎麛?shù)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • 基于vue編寫(xiě)一個(gè)月餅連連看游戲

    基于vue編寫(xiě)一個(gè)月餅連連看游戲

    中秋節(jié)快要到啦,我們一起用Vue創(chuàng)建一個(gè)簡(jiǎn)單的連連看游戲,連連看大家一定都玩過(guò)吧,通過(guò)消除相同的圖案來(lái)清理棋盤(pán),小編將一步步引導(dǎo)大家完成整個(gè)游戲的制作過(guò)程,讓我們開(kāi)始吧,一起為中秋節(jié)增添一些互動(dòng)和娛樂(lè)
    2023-09-09

最新評(píng)論