vue报错:TypeError: Cannot set property 'number' of undefined"
以下不会报错:data () {return {query: {page: 1,size: 50,params: {},isLike: true},queryParamName: 'number', // 查询字段名称queryParamValue: ''...
·
以下不会报错:
data () {
return {
query: {
page: 1,
size: 50,
params: {},
isLike: true
},
queryParamName: 'number', // 查询字段名称
queryParamValue: '', // 查询字段值
}
}
methods: {
queryPage (queryType) {
console.log(queryType)
// 如果是单条件查询
if (queryType === 'single') {
this.query.page = 1
this.query.params = {}
this.query.isLike = true
this.query.params[this.queryParamName] = this.queryParamValue
}
}
}
以下报错:
data () {
return {
orderMain: {
query: {
page: 1,
size: 50,
params: {},
isLike: true
},
queryParamName: 'number', // 查询字段名称
queryParamValue: '', // 查询字段值
}
}
}
methods: {
queryPage (queryType) {
console.log(queryType)
// 如果是单条件查询
if (queryType === 'single') {
this.orderMain.query.page = 1
this.orderMain.query.params = {}
this.orderMain.query.isLike = true
this.orderMain.query.params[this.queryParamName] = this.queryParamValue // 多了一级orderMain,此处就报错了
}
}
}
结论:两者一对比,说明2019年的 vue只支持两级以内的对象属性赋值,不支持两级以上的对象属性赋值。
更多推荐
已为社区贡献2条内容
所有评论(0)