鍍金池/ 問答/HTML/ vue 相關(guān)問題

vue 相關(guān)問題

項(xiàng)目場景: 有一個后端給的數(shù)據(jù)循環(huán)出來的列表,里面有一個單選按鈕表示“默認(rèn)/設(shè)為默認(rèn)”,當(dāng)我點(diǎn)擊單選按鈕后需要向后端請求改變當(dāng)前選中的為“默認(rèn)”并改變對應(yīng)的文字,現(xiàn)在我的做法是直接再去請求一次列表接口.

使用框架: vue

問題: 除了再去請求一次接口,還能使用什么VUE什么辦法解決這個問題?

回答
編輯回答
枕頭人

你的意思是點(diǎn)擊之后文字改變?

@click="change($event)"

change(e){
   e.target.innerText = '文字'
}
2017年4月11日 05:05
編輯回答
初念

你這里面應(yīng)當(dāng)有兩個接口
1.獲取列表的接口
2.更改列表某一項(xiàng)的接口
開始的時候通過獲取列表接口去拉取所需要展示的列表,當(dāng)你更改某一項(xiàng)的狀態(tài)時應(yīng)當(dāng)監(jiān)聽這一項(xiàng)的change事件,向后端發(fā)送請求更改,成功的話,你在前端修改文字的內(nèi)容即可,如果不成功就不修改。

2017年3月27日 00:03
編輯回答
浪蕩不羈

接著樓上的(下面的語法格式不重要,為了節(jié)省時間隨便寫的):

template:

<button @click="change($event)">{{ isDefault ? '默認(rèn)' : '設(shè)為默認(rèn)'}}</button>

data(){
    return {
        isDefault : true
    }
}

created:

var data = 自己想辦法設(shè)置當(dāng)前狀態(tài)或者干脆在data里寫true也行。
this.isDefault= data.status;

methods:

change(e){
   
    // 自己寫請求,按照請求結(jié)果改變isDefault的值就ok了。不用再次請求,如果請求不成功,什么都不做就行。
    axios.post(url,params).then((res)=>{
        if(res.data == true) this.isDefault = !this.isDefault;
    })

}
2018年9月20日 13:00
編輯回答
蝶戀花

點(diǎn)擊列表某一行按鈕時,發(fā)送設(shè)置默認(rèn)接口請求到后臺,請求成功后,改變按鈕的文字(之前的按鈕和當(dāng)前按鈕)

2017年10月17日 17:55