您好,登錄后才能下訂單哦!
先上圖:
示例代碼:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<script type="text/javascript" src="vue.js"></script>
<div id="app"></div>
<script type="text/javascript">
var mytest = {
template: `
<div>測試 {{msg}}
<br>
<button @click="msg+='1'" >點一下數據會更新</button>
</div>
`,
data() {
return {
msg: '嗯呢'
}
},
// 組件創建前
beforeCreate() {
console.log('組件創建前')
console.log(this.msg)
},
// 組件創建后
created() {
console.log('組件創建后')
console.log(this.msg)
},
// Dom 掛載前
beforeMount() {
console.log('Dom掛載前')
console.log(document.body.innerText)
},
// Dom 掛載后
mounted() {
console.log('Dom掛載后')
console.log(document.body.innerText)
},
// 數據變更前
beforeUpdate() {
console.log('數據更新前')
console.log(document.body.innerText)
},
// 數據變更后
updated() {
console.log('數據更新后')
console.log(document.body.innerText)
},
// 組件銷毀前
beforeDestroy() {
console.log('組件銷毀前')
},
// 組件銷毀后
destroyed() {
console.log('組件銷毀后')
},
// 組件激活
activated() {
console.log('組件激活')
},
// 組件停用
deactivated() {
console.log('組件停用')
}
}
new Vue({
el: '#app',
template: `
<div>
<keep-alive><mytest v-if="mytestShow"></mytest></keep-alive>
<button @click="clickDestroy">組件銷毀</button>
</div>
`,
components: {
mytest
},
data() {
return {
mytestShow: true
}
},
methods: {
clickDestroy() {
this.mytestShow = !this.mytestShow
}
}
})
</script>
</body>
</html>
在需要頻繁的創建和銷毀組件,如果用的是v-if,可以使用activated()deactivated()對組件進行激活和停用,前提是被操作組件要用<keep alive></keep alive>包裹
例:<keep-alive><mytest v-if="mytestShow"></mytest></keep-alive>
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。