SoFunction
Updated on 2025-03-08

A detailed explanation of TypeScript's life cycle

is a progressive JavaScript framework for building user interfaces. TypeScript is an open source language developed by Microsoft. It is a superset of JavaScript that can be compiled into pure JavaScript. The combination of Vue and TypeScript makes it easier and more efficient to develop large applications. This article will explore the application of TypeScript in components in detail, especially its life cycle hook function, and provide you with a practical guide through rich examples.

Lifecycle hook

Each Vue component instance goes through a series of initialization steps - such as creating a data observer, compiling a template, mounting the instance onto the DOM, re-rendering the DOM when the data is updated, etc. In these processes, Vue provides lifecycle hooks that allow us to add our own code at different stages.

Lifecycle hook list

Here are the main life cycle hooks for Vue components:

  • beforeCreate
  • created
  • beforeMount
  • mounted
  • beforeUpdate
  • updated
  • beforeDestroy
  • destroyed

Vue Components Using TypeScript

In TypeScript, Vue components usually use class-style components, which passvue-class-componentLibrary or Vue3's<script setup>Syntax sugar implementation.

Setting up a project

Make sure you have a Vue project using TypeScript. One can be initialized through the Vue CLI.

vue create my-project
# Select TypeScript

Class component life cycle

usevue-class-componentLibrary, life cycle hooks are like class methods.

<script lang="ts">
import { Vue, Component } from 'vue-property-decorator';

@Component
export default class MyComponent extends Vue {
  // beforeCreate
  beforeCreate() {
    ('Component is about to be created...');
  }

  // created
  created() {
    ('Component created');
  }

  // beforeMount
  beforeMount() {
    ('Component is about to be mounted...');
  }

  // mounted
  mounted() {
    ('Component mounted');
  }

  // beforeUpdate
  beforeUpdate() {
    ('Component is about to update...');
  }

  // updated
  updated() {
    ('Component updated');
  }

  // beforeDestroy
  beforeDestroy() {
    ('Component is about to be destroyed...');
  }

  // destroyed
  destroyed() {
    ('Component destroyed');
  }
}
</script>

Composition API and TypeScript

Vue 3 introduces the Composition API, which is especially useful when using TypeScript because it makes type inference more natural and simple.

<script lang="ts">
import { defineComponent, onMounted, onUnmounted } from 'vue';

export default defineComponent({
  setup() {
    // mounted
    onMounted(() => {
      ('Component mounted');
    });

    // unmounted
    onUnmounted(() => {
      ('Component unmounted');
    });

    return {
      // reactive state and methods
    };
  }
});
</script>

Life cycle practical example

Next, let's take a look at how to add practical code to the lifecycle hook through some specific examples.

Data acquisition

Usually, increatedormountedGet data from the hook.

created() {
  ();
}

methods: {
  async fetchData() {
    try {
      const response = await ('/api/data');
       = ;
    } catch (error) {
      ('Error fetching data', error);
    }
  }
}

Listen to events

We canmountedSet the listener in the hook andbeforeDestroyClean them up.

mounted() {
  ('resize', );
}

beforeDestroy() {
  ('resize', );
}

methods: {
  handleResize() {
    // Handle the resize event
  }
}

Timer

Set the timer and clean it before the component is destroyed.

data() {
  return {
    timer: null
  };
}



created() {
   = setInterval(, 1000);
}

beforeDestroy() {
  clearInterval();
}

methods: {
  tick() {
    // Do something on a timer
  }
}

in conclusion

The combination with TypeScript provides powerful tools to support the development of modern web applications. Understanding Vue's lifecycle hooks and knowing how to use them effectively in TypeScript will allow you to write more reliable and efficient code. Remember, the life cycle hook provides execution points that match the various stages of the component life cycle, allowing you to do the right thing at the right time.

The above is a detailed explanation of the life cycle of TypeTypeScript in a article. For more information about TypeScript's life cycle, please pay attention to my other related articles!