vue2+ant design vue 项目开发小坑(一)——computed属性不生效
写在前面:按照标题内容搜,只能搜到计算属性和watch监听的原理,因为他压根就是生效了!但是有点小瑕疵~核心代码是这样的:data ({return {projectInfo: {},form: this.$form.createForm(this, {onValuesChange: (props, values) =>{if (values ==this.testInfo) returno
·
写在前面:
按照标题内容搜,只能搜到计算属性和watch监听的原理,因为他压根就是生效了!但是有点小瑕疵~
核心代码是这样的:
data ({
return {
projectInfo: {},
form: this.$form.createForm(this, {
onValuesChange: (props, values) =>{if (values ==this.testInfo) returnobject.assign(this.testInfo, values)}
})
}
},
computed: {
districts ({
const obj ={}
if (this.testInfo.city){
for (const key in this.dicts.district) {
if (key.startswith(this.testInfo.city.slice(0,4))) {obj[key] = this.dicts.district[key]
}
}
return obj
}
else {
return this.dicts.district}
}
}
看代码看了很多遍感觉是没有问题的,但是计算属性就只在最开始加载页面的时候执行了一次,后来找了别人才发现是projectInfo: {},的问题…
改成projectInfo: {city:’’},就好了!
大概是因为监听机制的问题,
先记录下来,等看了原理再来补充
更多推荐
已为社区贡献4条内容
所有评论(0)