1 引出生命周期
<! DOCTYPE html >
< html lang = " en" >
< head> < meta charset = " UTF-8" > < meta http-equiv = " X-UA-Compatible" content = " IE=edge" > < meta name = " viewport" content = " width=device-width, initial-scale=1.0" > < title> 引出生命周期</ title> < script src = " ../JS/vue.js" > </ script>
</ head>
< body> < div id = " root" > < h2 :style = " {opacity}" > 欢迎学习Vue</ h2> </ div>
</ body>
< script> Vue. config. productionTip = false new Vue ( { el : '#root' , data : { opacity : 1 } , methods : { } , mounted ( ) { setInterval ( ( ) => { this . opacity -= 0.01 if ( this . opacity <= 0 ) this . opacity = 1 } , 16 ) ; } } )
</ script>
</ html>
2 分析生命周期
<! DOCTYPE html >
< html lang = " en" >
< head> < meta charset = " UTF-8" > < meta http-equiv = " X-UA-Compatible" content = " IE=edge" > < meta name = " viewport" content = " width=device-width, initial-scale=1.0" > < title> 分析生命周期</ title> < script src = " ../JS/vue.js" > </ script>
</ head>
< body> < div id = " root" > < h2 v-text = " n" > </ h2> < h2> 当前的n值是:{{n}}</ h2> < button @click = " add" > 点我n+1</ button> < button @click = " bye" > 点我销毁vm</ button> </ div>
</ body>
< script> Vue. config. productionTip = false new Vue ( { el : '#root' , data : { n : 1 } , methods : { add ( ) { console. log ( 'add' ) ; this . n++ } , bye ( ) { console. log ( 'bye' ) ; this . $destroy ( ) } } , watch : { n ( ) { console. log ( 'n变了' ) ; } } , beforeCreate ( ) { console. log ( 'beforeCreate' ) ; } , created ( ) { console. log ( 'created' ) ; } , beforeMount ( ) { console. log ( 'beforeMount' ) ; } , mounted ( ) { console. log ( 'mounted' ) ; } , beforeUpdate ( ) { console. log ( 'beforeUpdate' ) ; } , updated ( ) { console. log ( 'updated' ) ; } , beforeDestroy ( ) { console. log ( 'beforeDestroy' ) ; } , destroyed ( ) { console. log ( 'destroyed' ) ; } } )
</ script>
</ html>
3 总结生命周期
<! DOCTYPE html >
< html lang = " en" >
< head> < meta charset = " UTF-8" > < meta http-equiv = " X-UA-Compatible" content = " IE=edge" > < meta name = " viewport" content = " width=device-width, initial-scale=1.0" > < title> 总结生命周期</ title> < script src = " ../JS/vue.js" > </ script>
</ head>
< body> < div id = " root" > < h2 :style = " {opacity}" > 欢迎学习Vue</ h2> < button @click = " opacity = 1" > 透明度设置为1</ button> < button @click = " stop" > 点我停止变换</ button> </ div>
</ body>
< script> Vue. config. productionTip = false new Vue ( { el : '#root' , data : { opacity : 1 } , methods : { stop ( ) { this . $destroy ( ) } } , mounted ( ) { this . timer = setInterval ( ( ) => { this . opacity -= 0.01 if ( this . opacity <= 0 ) this . opacity = 1 } , 16 ) ; } , beforeDestroy ( ) { clearInterval ( this . timer) } } )
</ script>
</ html>