首页 >

vue组件什么条件下需要摧毁 – vue – 前端|

ibm t61怎么样,网易云音乐搜索接口怎么实现,怎么破解网页登陆密码破解ibm t61怎么样,网易云音乐搜索接口怎么实现,怎么破解网页登陆密码破解vue组件什么条件下需要摧毁 - vue - 前端|vue组件什么条件下需要摧毁

v-if与组件的自动销毁

在文档中有这样一句话,v-if会确保在切换过程中条件块内的事件监听器和子组件适当地被销毁和重建。

如果大家有这样一个组件

<div id=”app”>

<template>

<el-button type=”primary” @click=”handleClick”>销毁</el-button>

<i-ctorc v-if=”isChild”></i-ctorc>

</template>

</div>

大家通过点击按钮改变v-if的值,销毁Child组件

var Child = {

template: `<div>{{ data }}</div>`,

data () {

return {

data: ‘Child component’

}

},

beforeDestroy () {

console.log(‘before destory’)

console.log(this.$el)

},

destroyed () {

console.log(‘destoryed’)

console.log(this.$el)

}

}

var Ctorc = Vue.extend(Child)

var Main = {

data () {

return {

isChild: true

};

},

components: {

‘i-ctorc’: Ctorc

},

methods: {

handleClick () {

this.isChild = false

}

}

}

var Ctor = Vue.extend(Main)

new Ctor().$mount(‘#app’)var Child = {

template: `<div>{{ data }}</div>`,

data () {

return {

data: ‘Child component’

}

},

beforeDestroy () {

console.log(‘before destory’)

console.log(this.$el)

},

destroyed () {

console.log(‘destoryed’)

console.log(this.$el)

}

}

var Ctorc = Vue.extend(Child)

var Main = {

data () {

return {

isChild: true

};

},

components: {

‘i-ctorc’: Ctorc

},

methods: {

handleClick () {

this.isChild = false

}

}

}

var Ctor = Vue.extend(Main)

new Ctor().$mount(‘#app’)

在用户点击时,Child组件就会被销毁,销毁的时候触发生命周期的钩子,在控制台输出

before destory

<div>Child component</div>

destoryed

<div>Child component</div

手动编译与DOM操作

如果你为了配置方便,想要通过字符串配置组件,而不是slot等。你可能会用到compile和el。这时候你就要手动销毁组件了。

可以参考iView的cell实现。


vue组件什么条件下需要摧毁 - vue - 前端|
  • 什么是一键登录啊 - vue - 前端|
  • 什么是一键登录啊 - vue - 前端| | 什么是一键登录啊 - vue - 前端| ...

    vue组件什么条件下需要摧毁 - vue - 前端|
  • vue视图移动后如何改变中心点 - vue - 前端|
  • vue视图移动后如何改变中心点 - vue - 前端| | vue视图移动后如何改变中心点 - vue - 前端| ...

    vue组件什么条件下需要摧毁 - vue - 前端|
  • 你有没有感觉越拍越没有题材 - vue - 前端|
  • 你有没有感觉越拍越没有题材 - vue - 前端| | 你有没有感觉越拍越没有题材 - vue - 前端| ...