Vue: Vue 在点击事件之前或之后更新数据取决于浏览器

创建于 2016-06-22  ·  3评论  ·  资料来源: vuejs/vue

Vue.js 版本

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。

同样的事情从真状态到假状态

最有用的评论

我们通过将更改处理程序的逻辑包装在Vue.nextTick解决了这个问题。 然后您始终可以访问更新的值。
另一种解决方案可能是物业的观察者。

所有3条评论

不同的浏览器以不同的顺序触发changeclick事件,这不是 Vue 可以改变的,也不是 Vue 负责规范这种行为的。 您应该收听change事件而不是click

我们通过将更改处理程序的逻辑包装在Vue.nextTick解决了这个问题。 然后您始终可以访问更新的值。
另一种解决方案可能是物业的观察者。

公认的答案应该是埃文的答案。 这在任何情况下都有效。

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

6pm picture 6pm  ·  3评论

bfis picture bfis  ·  3评论

fergaldoyle picture fergaldoyle  ·  3评论

paceband picture paceband  ·  3评论

robertleeplummerjr picture robertleeplummerjr  ·  3评论