iT邦幫忙

0

vue要改變修改資料內容 重整也不會改變

https://codepen.io/chiakilalala/pen/XWXKeBE

程式碼在上面
就是我收到一個api 他裡面設定是 Status:1~3 有三個狀態改變
我把它設定成 點擊之後 可以改變 根據 Status :1 ~3數字改變 樣式跟內容

我想使用this.$set 修改 但是都沒有效果 不知道有什麼方法可以 永久改變資料 而且重整也不會恢復原狀?

yolala iT邦新手 5 級 ‧ 2020-06-14 13:36:14 檢舉
後來改成了 this.$set(this.item,'Status', 2) 的寫法 但是 遇到一個問題就是說 我原本這是寫在一個跳窗裡面 關掉後跳窗 又會恢復原來的樣子 Status =1 我想要永久改變狀態  不會因為重新整理 是否是還要讓get 資料的api 再重新跑一次
dragonH iT邦超人 5 級 ‧ 2020-06-14 13:49:05 檢舉
基本上這樣的功能應該是

ajax 到後端去更新某筆資料

完成後再取得最新的資料

不應該將資料存在前端

1 個回答

1
Peter學程式
iT邦新手 2 級 ‧ 2020-06-14 14:11:51

利用Ajax得到資料後,這些資料會存放在你所宣告的變數item.Status中,即使改變了也不過是改變本地端的變數,若你想要永久更改後端的資料,應該要在修改item.Status後,透過Ajax發出Put, Patch等方法聯絡Api更新你想要變更的資料,不過實際的做法你必須要參考Api的文件。
Ref

 methods: {
    switchState(item) {
      this.$set(this.item,'Status', 2)
      //Ajax
    },
     switchState2(item) {
      this.$set(this.item,'Status', 3)
      //Ajax
    }
  }
yolala iT邦新手 5 級 ‧ 2020-06-14 15:17:21 檢舉

了解所以我就是要在後面加 ajax 更新一次

是的~!

我要發表回答

立即登入回答