鍍金池/ 問(wèn)答/HTML/ Computed property "route" was

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

computed: {
  route () {
    return this.$store.state.curTab.route
  }
}

clipboard.png

回答
編輯回答
夕顏

clipboard.png
嘗試改變數(shù)據(jù)交互方式 ,比如:v-model 替換成 v-bind.

2017年3月10日 13:38
編輯回答
離夢(mèng)

v-model 與 vuex 的設(shè)定問(wèn)題,v-model 用來(lái)做雙向綁定,單 vuex 提供的 mapGetters只能設(shè)置一個(gè)getter,沒(méi)有setter。 在strict 模式下,會(huì)報(bào)錯(cuò),如果業(yè)務(wù)上有雙向,可以忽略

2017年12月15日 14:24
編輯回答
墨小羽

一個(gè)計(jì)算屬性,如果沒(méi)有設(shè)置 setter,也就是傳入的是一個(gè)函數(shù),或者傳入的對(duì)象里沒(méi)有 set 屬性,當(dāng)你嘗試直接該改變這個(gè)這個(gè)計(jì)算屬性的值,都會(huì)報(bào)這個(gè)錯(cuò)誤。

源碼:

文件目錄 src/core/instance/state.js

圖片描述

2017年11月6日 18:36
編輯回答
悶騷型

今天我也遇到同個(gè)問(wèn)題,上網(wǎng)查的結(jié)果是
這種問(wèn)題一般是這個(gè)計(jì)算屬性沒(méi)有設(shè)置set方法導(dǎo)致該報(bào)錯(cuò),因?yàn)樵趍ethods方法里面有對(duì)這個(gè)計(jì)算屬性賦值的操作。只要添加一個(gè) set方法就可以解決此報(bào)錯(cuò)
能不能解決你的問(wèn)題我就不確定了

computed: {
  route () {
    get: function () {
      return this.$store.state.curTab.route
    },
    set: function (newValue) {
      this.$store.state.curTab.route = newValue
    }
  }
}
2017年1月21日 06:47
編輯回答
離觴

再結(jié)合vuex和表單v-model中,直接利用mapState就會(huì)提示沒(méi)有setter
我是這樣解決的:

computed: {
            time:{

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

暫時(shí)沒(méi)發(fā)現(xiàn)更好的解決辦法
有更好的請(qǐng)?zhí)峁┮幌?/p>

2017年4月2日 07:04
編輯回答
憶當(dāng)年

出現(xiàn)這個(gè)錯(cuò)誤是因?yàn)槟阍谑裁吹胤浇o route 賦值了,看看其他地方的代碼

2018年1月12日 03:46
編輯回答
夏木

可以用mounted代替嘛

2018年2月25日 04:13
編輯回答
野橘

如果對(duì)計(jì)算屬性做賦值操作,則要求計(jì)算屬性提供 setter 函數(shù)…否則會(huì)報(bào) warning

2017年4月9日 15:15
編輯回答
幼梔

就這點(diǎn)代碼讓我們猜?

2018年8月26日 16:58
編輯回答
浪蕩不羈

悲劇了,我也是刪除了重新npm install 結(jié)果也是這樣,但是我沒(méi)有賦值啊,我只是單純的讀取然后渲染,求解決

2018年7月8日 00:16