|
@@ -0,0 +1,89 @@
|
|
|
+<!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>
|