一步解决Computed property “xxx” was assigned to but it has no setter.报错

问题描述

用uniapp开发小程序过程中遇到了Computed property "xxx" was assigned to but it has no setter.这个报错。看来是计算属性出现了问题。

不过这个报错更像是警告,因为该计算属性可以正常用,没有产生任何问题,但我还是看它不爽,必须要给它解决掉!

问题产生原因

其实单看翻译我们就能明白为什么会产生该报错,无非是少了个setter,原因就是在Vue中计算属性不仅有一个getter还有一个setter,如果我们只需要获取该计算属性而不考虑修改该计算属性,那么我们往往会只声明getter而忽略掉setter,此时就会引发报错。

只有getter的计算属性如下所示:

computed: {
	// 计算属性的 getter
	reversedMessage(){
		return this.message.split('').reverse().join('')
	}
}

解决方案

既然报错提示我们的计算属性没有setter,那就在计算属性中添加个空的setter不就好了嘛。

computed: {
	// 计算属性的 getter
	reversedMessage:{
        get(){
		    return this.message.split('').reverse().join('')
        },
        set(){}//添加一个空setter防止报错
	}
}

此时再编译就不会报错了。

你可能感兴趣的:(微信小程序,前端,前端框架,微信小程序,vue)