Child.vue 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. <template>
  2. <h2>子组件</h2>
  3. <h3>msg: {{ msg }}</h3>
  4. <button @click="update">更新</button>
  5. </template>
  6. <script lang="ts">
  7. import {
  8. defineComponent,
  9. ref,
  10. onBeforeMount,
  11. onBeforeUnmount,
  12. onBeforeUpdate,
  13. onMounted,
  14. onUnmounted,
  15. onUpdated,
  16. } from "vue";
  17. export default defineComponent({
  18. name: "Child",
  19. //vue2生命周期 钩子函数
  20. beforeCreate() {
  21. console.log("2.0 beforeCreate");
  22. },
  23. created() {
  24. console.log("2.0 created");
  25. },
  26. beforeMount() {
  27. console.log("2.0 beforeMount");
  28. },
  29. mounted() {
  30. console.log("2.0 mounted");
  31. },
  32. beforeUpdate() {
  33. console.log("2.0 beforeUpdate");
  34. },
  35. updated() {
  36. console.log("2.0 updated");
  37. },
  38. // beforeDestroy(){
  39. // console.log('2.0 beforeDestroy')
  40. // },
  41. // destroyed(){
  42. // console.log('2.0 destroyed')
  43. // },
  44. beforeUnmount() {
  45. console.log("2.0 beforeUnmount");
  46. },
  47. unmounted() {
  48. console.log("2.0 unmounted");
  49. },
  50. setup() {
  51. //vue3生命周期函数
  52. console.log("3.0 setup");
  53. const msg = ref("abc");
  54. const update = () => {
  55. msg.value += "!";
  56. };
  57. onBeforeMount(() => {
  58. console.log("3.0 onBeforeMount");
  59. });
  60. onMounted(() => {
  61. console.log("3.0 onMounted");
  62. });
  63. onBeforeUpdate(() => {
  64. console.log("3.0 onBeforeUpdate");
  65. });
  66. onUpdated(() => {
  67. console.log("3.0 onUpdated");
  68. });
  69. onBeforeUnmount(() => {
  70. console.log("3.0 onBeforeUnmount");
  71. });
  72. onUnmounted(() => {
  73. console.log("3.0 onUnmounted");
  74. });
  75. return {
  76. msg,
  77. update,
  78. };
  79. },
  80. });
  81. </script>
  82. <style scoped>
  83. </style>