Computed property "xxxx" was assigned to but it has no setter


有時候我們在運行我們的項目的時候會出現如下警告

原因:一個計算屬性,如果沒有設置 setter,也就是傳入的是一個函數,或者傳入的對象里沒有 set 屬性,當你嘗試直接改變這個計算屬性的值,都會報這個錯誤,計算屬性默認只有getter

解決:把computed中的route屬性改成如下格式

computed: {
  route () {
    // getter
    get: function () {
      return this.$store.state.curTab.route
    },
    // setter
    set: function (newValue) {
      this.$store.state.curTab.route = newValue
    }
 }

 

computed  VS  watch 

computed比較適合的場景是多個數據影響一個數據,比如商品總價隨着商品數量及商品種類的影響

watch比較適合的場景是一個數據影響多個數據,比如監控路由、input輸入框的值特殊處理等等

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM