vue2与vue3的实例销毁,有什么区别。vue2的实例销毁:
vm.$destroy()
完全销毁⼀个实例。清理它与其它实例的连接,解绑它的全部指令及事件。
触发 beforeDestroy 和 destroyed 的钩⼦。
vue3的实例销毁:
destroyed ⽣命周期选项被重命名为 unmounted
beforeDestroy ⽣命周期选项被重命名为 beforeUnmount
updated:在包含组件的 VNode 及其⼦组件的 VNode 更新后调⽤。
beforeUnmount:在卸载绑定元素的⽗组件之前调⽤
unmounted:当指令与元素解除绑定且⽗组件已卸载时,只调⽤⼀次。update是什么
举例:
import{ createApp }from'vue'
const app =createApp({})
// 注册
app.directive('my-directive',{
// 指令是具有⼀组⽣命周期的钩⼦:
// 在绑定元素的 attribute 或事件被应⽤之前调⽤
created(){},
// 在绑定元素的⽗组件挂载之前调⽤
beforeMount(){},
// 绑定元素的⽗组件被挂载时调⽤
mounted(){},
/
/ 在包含组件的 VNode 更新之前调⽤
beforeUpdate(){},
// 在包含组件的 VNode 及其⼦组件的 VNode 更新之后调⽤
updated(){},
// 在绑定元素的⽗组件卸载之前调⽤
beforeUnmount(){},
// 卸载绑定元素的⽗组件时调⽤
unmounted(){}
})
// 注册 (功能指令)
app.directive('my-directive',()=>{
/
/ 这将被作为 `mounted` 和 `updated` 调⽤
})
// getter, 如果已注册,则返回指令定义
const myDirective = app.directive('my-directive')
// 卸载应⽤实例的根组件。
<body>
<div id="my-app"></div>
</body>
//。。。。。//。。。。。。//。。。。。。//。。。。。// import{ createApp }from'vue'
const app =createApp({})
// 做⼀些必要的准备
// 挂载5秒后,应⽤将被卸载
setTimeout(()=> app.unmount(),5000)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论