Javascript 如何清空以下数组而不在该Vue手表内造成无限外观?
我正在观看一系列的领域:Javascript 如何清空以下数组而不在该Vue手表内造成无限外观?,javascript,vue.js,infinite-loop,Javascript,Vue.js,Infinite Loop,我正在观看一系列的领域: fields: { handler (fields) { Object.entries(fields).forEach(([key, value]) => { const field = fields[key] // field.errors = [] this will trigger an infinite look if (!field.validation) return const isRequ
fields: {
handler (fields) {
Object.entries(fields).forEach(([key, value]) => {
const field = fields[key]
// field.errors = [] this will trigger an infinite look
if (!field.validation) return
const isRequired = field.validation.isRequired && !field.value
if (isRequired) {
field.errors[field.errors.length] = {
errorType: 'isRequired',
message: 'This field is required.'
}
}
})
},
deep: true
}
现在我想在代码运行之前重置field.errors。。。问题是,更改字段将更改字段,从而导致无限循环。在将错误数组设置为新的空数组之前,可以检查错误数组是否已为空
if (Array.isArray(field.errors) && field.errors.length)
field.errors = []
您不能在data watcher内变异数据!: