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内变异数据!: