我怎么能得到事件类型在vue时手表侦听器触发?



我已经创建了一个手表,当<Input v-model="computedData" />更改数据时,我可以获得旧的和新的值。数据也可以通过XMLHttpRequest进行更改。我要知道是谁篡改了数据。当数据发生变化时,我无法通过watcher获取event作为参数。因为在任何情况下,都无法到达event。我知道,我可以使用event直接访问事件。但我也知道是deprecated。所以我正在研究如何将事件类型访问为InputEventXMLHttpRequest

@Options({
name: 'dx-table',
watch: {
computedData: {
handler(newData: any, oldData: any) {
console.log(event); // is there any way to access `event` without using `event` directly
},
deep: true,
immediate: true,
},
},
})
export default class DxTable extends Vue.with(Props) {}

无法在监视程序中获取数据更改的事件或原因。观察者只是一个函数,当一些响应性属性发生变化时,它就会执行,而你得到的只是旧值和新值。

根据给出的信息,有两种方法可以更改数据:

输入
  1. event:为组件上的输入事件注册一个侦听器,如@input="handleInput"。事件对象被传递给函数。
  2. XMLHttpRequest:当你在代码中改变属性时,只需调用一个方法来处理特定的突变。

我不知道你的代码的具体情况,但这可能是一种情况,而不是在你的代码中自由地改变数据,使用一个或多个&;setter&;方法来执行此操作,以便您确切地知道数据在何处以及如何发生了变化。使用监视器无法提供关于数据在何处或如何更改的信息,并且如果您在代码库中的许多随机位置更改数据,那么您将很难尝试跟踪代码以找到突变的原因。

相关内容

  • 没有找到相关文章

最新更新