Javascript 如何确定Vue组件是否因热重新加载而损坏?

Javascript 如何确定Vue组件是否因热重新加载而损坏?,javascript,vue.js,vue-component,nuxt.js,hot-module-replacement,Javascript,Vue.js,Vue Component,Nuxt.js,Hot Module Replacement,我有一个Vue组件,用于管理设置成本高昂的大量资源(即WebRTCPeerConnection与视频流)。该组件的设计方式使这些繁重的资源保存在其他地方,并在模块重新加载时保存。当组件被重新加载(销毁并再次创建)时,它会检查保存的流,并在不重新创建的情况下重新部署它 然而,这意味着destroctedhook实际上不会破坏任何东西。当用户离开页面并且组件被完全销毁(不是为了重新加载)时,这不是预期的行为 所以问题是:如何判断组件是被销毁以便重新加载(资源应该保持原样)还是因为不再需要它(资源应该

我有一个Vue组件,用于管理设置成本高昂的大量资源(即WebRTC
PeerConnection
与视频流)。该组件的设计方式使这些繁重的资源保存在其他地方,并在模块重新加载时保存。当组件被重新加载(销毁并再次创建)时,它会检查保存的流,并在不重新创建的情况下重新部署它

然而,这意味着
destrocted
hook实际上不会破坏任何东西。当用户离开页面并且组件被完全销毁(不是为了重新加载)时,这不是预期的行为

所以问题是:如何判断组件是被销毁以便重新加载(资源应该保持原样)还是因为不再需要它(资源应该关闭)


我使用Nuxt,所以网页包配置和其他低级相关的东西都由Nuxt自己管理。此区域未对Nuxt配置进行任何更改。

老实说,我仍然不太清楚您的问题

虽然这对你来说很有用

if(模块热){
module.hot.addStatusHandler(状态=>{
如果(状态==‘空闲’){
//请在这里输入代码
}
})

}
老实说,我还是不太清楚你的问题

虽然这对你来说很有用

if(模块热){
module.hot.addStatusHandler(状态=>{
如果(状态==‘空闲’){
//请在这里输入代码
}
})

}
我想销毁应该是默认的,一些环境应该保留状态?因此,最好告诉保留而不是猜测不保留这似乎不是区分这两个事件的方法(组件的生命周期挂钩中没有某种“热重新加载”标志)。我只想在开发模式中使用一个去抖动器:使用
setTimeout
延迟关闭
destrocted
中的流(例如,200毫秒),并在
创建的
中停止计时器,这应该在热重新加载时很快发生。销毁时是否需要关闭摄像头?不是摄像头(它只是recv流),而是,销毁后应该关闭流。我想销毁应该是默认的,一些环境应该保留状态?因此,最好告诉保留而不是猜测不保留这似乎不是区分这两个事件的方法(组件的生命周期挂钩中没有某种“热重新加载”标志)。我只想在开发模式中使用一个去抖动器:使用
setTimeout
延迟关闭
destrocted
中的流(例如,200毫秒),并在
创建的
中停止计时器,这应该在热重新加载时很快发生。销毁时是否需要关闭摄像头?不是摄像头(它只是recv流),而是,卸料后应关闭蒸汽。