v1.0.20
http://jsfiddle.net/5sH6A/468/
Chrome/Firefox 以一种方式运行,而 IE 11/Edge 则以不同方式运行。
Chrome/Firefox - 如果单击复选框将其从 false 状态更改为 true 状态,则 vue 不会在单击事件之前将 row.selected 值更新为 true。
IE 11/Edge - 如果单击复选框将其从 false 状态更改为 true 状态,vue 会在单击事件之前将 row.selected 值更新为 true。
同样的事情从真状态到假状态
不同的浏览器以不同的顺序触发change
和click
事件,这不是 Vue 可以改变的,也不是 Vue 负责规范这种行为的。 您应该收听change
事件而不是click
。
我们通过将更改处理程序的逻辑包装在Vue.nextTick
解决了这个问题。 然后您始终可以访问更新的值。
另一种解决方案可能是物业的观察者。
公认的答案应该是埃文的答案。 这在任何情况下都有效。
最有用的评论
我们通过将更改处理程序的逻辑包装在
Vue.nextTick
解决了这个问题。 然后您始终可以访问更新的值。另一种解决方案可能是物业的观察者。