请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

vuex映射值时出错Computed property "city" was assigned to but it has no setter

import HomeHeader from './components/header'
import HomeSwiper from './components/swiper'
import HomeIcons from './components/icons'
import HomeRecomment from './components/recomment'
import HomeGo from './components/go'
import Axios from 'axios'
import { mapState } from 'vuex'
export default {
 name:"Home",
 components:{HomeHeader,HomeSwiper,HomeIcons,HomeRecomment,HomeGo},
 data (){
  return {
   swiperList:[],
   iconList:[],
   recommendList:[],
   weekendList:[]
  }
 },
 computed: {
  ...mapState(['city'])
 },
 methods:{
  ajaxIndex () {
   Axios.get('/api/index.json?city=' + this.city).then(this.respones)
  },
  respones (res) {
   console.log(res);
   const list=res.data.data;
   this.city=list.city
   this.swiperList=list.swiperList
   this.iconList=list.iconList
   this.recommendList=list.recommendList
   this.weekendList=list.weekendList
  }
 },
 mounted () {
  this.lostcity = this.city
  this.ajaxIndex()
 },
 activated () {
  if (this.lostcity !== this.city) {
   this.lostcity = this.city
   this.ajaxIndex()
  }
 }
}

报错:Computed property "city" was assigned to but it has no setter.

程序正常运行

正在回答

3回答

computed: {

  ...mapState(['city'])

 },

改为:定义一个CurrentCity:‘city', 原因未知,有点奇怪

computed: {

  ...mapState({CurrentCity:‘city'})

 },


0 回复 有任何疑惑可以回复我~
  • Dell #1
    代码写的有问题,this.city到底是什么,如果是计算属性是不能给赋值的
    回复 有任何疑惑可以回复我~ 2018-06-01 14:46:15
  • 提问者 YananNi #2
    非常感谢!
    回复 有任何疑惑可以回复我~ 2018-06-08 19:15:29
  • 訫語 回复 Dell #3
    这是你写的。我们跟着报了个错
    回复 有任何疑惑可以回复我~ 2019-12-02 21:27:16
kopa 2020-08-03 15:56:45

this.city=list.city
删除掉, 因为json里面的city已经删除了

0 回复 有任何疑惑可以回复我~
行走在孤岭中 2019-09-02 15:01:27

你在这个 respones (res)请求返回中this.city=list.city删除吧,就没事了

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信