1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <title>Document</title>
- <script src="./js/vue.js"></script>
- </head>
- <body>
- <div id="app">
- <!-- is 用来切换显示的组件 is等于哪个组件名称就展示哪个组件 -->
- <div v-bind:is="comp"></div>
- <button @click="parentHandle">修改组件</button>
- </div>
- <script>
- var app = new Vue({
- el: '#app',
- data:{
- comp:"box1"
- },
- methods: {
- parentHandle(){
- this.comp = "box2"
- }
- },
- beforeCreate() {
- console.log('父组件 beforeCreate');
- },
- created() {
- console.log('父组件 created');
- },
- beforeMount() {
- console.log('父组件 beforeMount');
- },
- mounted() {
- console.log('父组件 mounted');
- },
- beforeUpdate() {
- console.log('父组件 beforeUpdate');
- },
- updated() {
- console.log('父组件 updated');
- },
- components: {
- box1:{
- template: '<div @click="childHandle">box1{{num}}</div>',
- data(){
- return {
- num:1
- }
- },
- methods: {
- childHandle() {
- this.num++;
- }
- },
- 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');
- }
- },
- box2:{
- template: '<div>box2</div>'
- }
- }
- })
- </script>
- </body>
- </html>
|