Javascript VueJS将新对象推送到阵列,数据不是反应性的

Javascript VueJS将新对象推送到阵列,数据不是反应性的,javascript,vue.js,vuejs2,Javascript,Vue.js,Vuejs2,这是我当前的数据结构 days: [ { id: 0 name: 'Monday', times: [] }, { id: 1 name: 'Tuesday', times: [] } } 我使用以下方法向times数组添加一个对象 onTimeAdded (dayId) { const dayIndex = this.days.findIndex(day => day.id === dayId) this.day

这是我当前的数据结构


days: [
  {
    id: 0
    name: 'Monday',
    times: []
  },
  {
    id: 1
    name: 'Tuesday',
    times: []
  }
}
我使用以下方法向times数组添加一个对象

onTimeAdded (dayId) {
  const dayIndex = this.days.findIndex(day => day.id === dayId)
  this.days[dayIndex].times.push({ from: '09:00', to: '18:00' })
}
这会将对象添加到数组中,但当我更改对象的一个属性的值时,它不是被动的,我将对象的from和to属性定义如下

<input
    type="time"
    name="to"
    :placeholder="To"
    :value="time.to"
>

如果将对象添加到反应数组中,该对象的属性是否反应


尝试将
输入
属性更改为
v-model
,并删除占位符前无用的


数组中的
days
对象没有
id
属性。这是打字错误吗?对不起,这是一个打字错误,他们确实有id,在复制粘贴过程中被遗漏了。除了这个问题之外,dayIndex也不是问题所在,推送时间也可以,但它更新数组中的对象值似乎会导致问题。谢谢你能在codepen或coresandbox中复制吗?@AdamOrlov你可以自己创建一个。作为警告,当您执行
:placeholder=“To”
操作时,您要求Vue将占位符属性绑定到名为
To
的变量。你是有意这么做的吗?如果你只是想让占位符变成
to
,你可以把
placeholder=“to”
(不带冒号)。啊哈。我很困惑:价值与v模型,双向绑定似乎工作。