<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/">
  <channel>
    <title>TODOvue Blog (English)</title>
    <link>https://todovue.blog</link>
    <description>Your complete guide to learning Vue.js from beginner to advanced level</description>
    <language>en</language>
    <lastBuildDate>Sat, 23 May 2026 23:13:16 GMT</lastBuildDate>
    <atom:link href="https://todovue.blog/rss.en.xml" rel="self" type="application/rss+xml" />
    <image>
      <url>https://todovue.blog/default-og-image.png</url>
      <title>TODOvue Blog (English)</title>
      <link>https://todovue.blog</link>
    </image>
    
    <item>
      <title><![CDATA[Vue Lifecycle: server-side rendering with serverPrefetch]]></title>
      <link>https://todovue.blog/blog/vue-lifecycle-ssr-serverprefetch.en</link>
      <guid>https://todovue.blog/blog/vue-lifecycle-ssr-serverprefetch.en</guid>
      <pubDate>Sat, 21 Mar 2026 00:00:00 GMT</pubDate>
      <description><![CDATA[How to use serverPrefetch and onServerPrefetch to load data before SSR rendering, avoid incomplete HTML, and coordinate the server's first render with client hydration.]]></description>
      <media:content url="https://res.cloudinary.com/denj4fg7f/image/upload/v1774051488/vue-lifecycle-ssr-serverprefetch_averlr.png" medium="image" />
      <media:title><![CDATA[Illustration of a server delivering HTML with resolved data while a client hydrates without needing an extra fetch.]]></media:title>
    </item>
    <item>
      <title><![CDATA[Vue Lifecycle: render debugging (renderTracked, renderTriggered)]]></title>
      <link>https://todovue.blog/blog/vue-lifecycle-render-debug-rendertracked-rendertriggered.en</link>
      <guid>https://todovue.blog/blog/vue-lifecycle-render-debug-rendertracked-rendertriggered.en</guid>
      <pubDate>Wed, 18 Mar 2026 00:00:00 GMT</pubDate>
      <description><![CDATA[How to use renderTracked, renderTriggered, onRenderTracked, and onRenderTriggered to understand which dependencies enter a render and which changes are forcing new updates.]]></description>
      <media:content url="https://res.cloudinary.com/denj4fg7f/image/upload/v1773802976/vue-lifecycle-render-debug-rendertracked-rendertriggered_ekkgg1.png" medium="image" />
      <media:title><![CDATA[Illustration of render debugging in Vue with renderTracked and renderTriggered]]></media:title>
    </item>
    <item>
      <title><![CDATA[Vue Lifecycle: error handling with errorCaptured]]></title>
      <link>https://todovue.blog/blog/vue-lifecycle-error-handling-errorcaptured.en</link>
      <guid>https://todovue.blog/blog/vue-lifecycle-error-handling-errorcaptured.en</guid>
      <pubDate>Tue, 17 Mar 2026 00:00:00 GMT</pubDate>
      <description><![CDATA[How to use errorCaptured and onErrorCaptured to isolate failures in child components, show fallback states, and log errors without breaking the entire interface.]]></description>
      <media:content url="https://res.cloudinary.com/denj4fg7f/image/upload/v1773714502/vue-lifecycle-error-handling-errorcaptured_mn62y7.png" medium="image" />
      <media:title><![CDATA[Illustration of a Vue component with a protective shield, representing error handling with errorCaptured.]]></media:title>
    </item>
    <item>
      <title><![CDATA[Vue Lifecycle: cached components with <KeepAlive> (activated, deactivated)]]></title>
      <link>https://todovue.blog/blog/vue-lifecycle-keepalive-activated-deactivated.en</link>
      <guid>https://todovue.blog/blog/vue-lifecycle-keepalive-activated-deactivated.en</guid>
      <pubDate>Fri, 13 Mar 2026 00:00:00 GMT</pubDate>
      <description><![CDATA[How activated and deactivated work in components cached with <KeepAlive>, when to use them, and how to avoid stale data, running timers, and misplaced lifecycle logic.]]></description>
      <media:content url="https://res.cloudinary.com/denj4fg7f/image/upload/v1773371011/vue-lifecycle-keepalive-activated-deactivated_abjmwe.png" medium="image" />
      <media:title><![CDATA[Illustration of cached Vue components with KeepAlive using activated and deactivated]]></media:title>
    </item>
    <item>
      <title><![CDATA[Vue Lifecycle: unmounting phase (beforeUnmount, unmounted)]]></title>
      <link>https://todovue.blog/blog/vue-lifecycle-unmounting-phase-beforeunmount-unmounted.en</link>
      <guid>https://todovue.blog/blog/vue-lifecycle-unmounting-phase-beforeunmount-unmounted.en</guid>
      <pubDate>Thu, 12 Mar 2026 00:00:00 GMT</pubDate>
      <description><![CDATA[What happens when a component leaves the screen and how to use beforeUnmount and unmounted to clean up listeners, timers, and side effects without leaks or strange behavior.]]></description>
      <media:content url="https://res.cloudinary.com/denj4fg7f/image/upload/v1773284773/vue-lifecycle-unmounting-phase-beforeunmount-unmounted_f9gqy0.png" medium="image" />
      <media:title><![CDATA[Illustration of the unmounting phase of the Vue lifecycle with beforeUnmount and unmounted]]></media:title>
    </item>
    <item>
      <title><![CDATA[Vue Lifecycle: update phase (beforeUpdate, updated)]]></title>
      <link>https://todovue.blog/blog/vue-lifecycle-update-phase-beforeupdate-updated.en</link>
      <guid>https://todovue.blog/blog/vue-lifecycle-update-phase-beforeupdate-updated.en</guid>
      <pubDate>Wed, 11 Mar 2026 00:00:00 GMT</pubDate>
      <description><![CDATA[What happens when Vue re-renders a component and how to use beforeUpdate and updated without treating them as stand-ins for watch or computed.]]></description>
      <media:content url="https://res.cloudinary.com/denj4fg7f/image/upload/v1773284616/vue-lifecycle-update-phase-beforeupdate-updated_qql7os.png" medium="image" />
      <media:title><![CDATA[Illustration of the Vue lifecycle update phase with beforeUpdate and updated]]></media:title>
    </item>
    <item>
      <title><![CDATA[Vue Lifecycle: mounting phase (beforeMount, mounted)]]></title>
      <link>https://todovue.blog/blog/vue-lifecycle-mounting-phase-beforemount-mounted.en</link>
      <guid>https://todovue.blog/blog/vue-lifecycle-mounting-phase-beforemount-mounted.en</guid>
      <pubDate>Tue, 10 Mar 2026 00:00:00 GMT</pubDate>
      <description><![CDATA[What happens right before and right after Vue inserts a component into the DOM, and how to use beforeMount and mounted without turning them into a dumping ground.]]></description>
      <media:content url="https://res.cloudinary.com/denj4fg7f/image/upload/v1773284431/vue-lifecycle-mounting-phase-beforemount-mounted_wkrzal.png" medium="image" />
      <media:title><![CDATA[Illustration of a Vue component lifecycle focused on the DOM mounting phase]]></media:title>
    </item>
    <item>
      <title><![CDATA[Vue Lifecycle: creation phase (beforeCreate, created, setup)]]></title>
      <link>https://todovue.blog/blog/vue-lifecycle-creation-phase-beforecreate-created-setup.en</link>
      <guid>https://todovue.blog/blog/vue-lifecycle-creation-phase-beforecreate-created-setup.en</guid>
      <pubDate>Sat, 07 Mar 2026 00:00:00 GMT</pubDate>
      <description><![CDATA[What really happens during a Vue component's creation phase and how to choose between beforeCreate, created, and setup.]]></description>
      <media:content url="https://res.cloudinary.com/denj4fg7f/image/upload/v1773284254/vue-lifecycle-creation-phase-beforecreate-created-setup_fkkyiw.png" medium="image" />
      <media:title><![CDATA[Illustration of a Vue component lifecycle highlighting the creation phase with beforeCreate, created, and setup]]></media:title>
    </item>
    <item>
      <title><![CDATA[Vue Lifecycle Hooks: An Overview]]></title>
      <link>https://todovue.blog/blog/vue-lifecycle-hooks-overview.en</link>
      <guid>https://todovue.blog/blog/vue-lifecycle-hooks-overview.en</guid>
      <pubDate>Thu, 05 Mar 2026 00:00:00 GMT</pubDate>
      <description><![CDATA[A clear map of all Vue 3 lifecycle hooks to understand when to use each one.]]></description>
      <media:content url="https://res.cloudinary.com/denj4fg7f/image/upload/v1772676391/vue-lifecycle-hooks-overview_ovnxzy.png" medium="image" />
      <media:title><![CDATA[Vue Lifecycle Hooks: An Overview]]></media:title>
    </item>
    <item>
      <title><![CDATA[How Vue 3 Reactivity Works Internally]]></title>
      <link>https://todovue.blog/blog/vue-3-reactivity-internals.en</link>
      <guid>https://todovue.blog/blog/vue-3-reactivity-internals.en</guid>
      <pubDate>Tue, 03 Mar 2026 00:00:00 GMT</pubDate>
      <description><![CDATA[Technical breakdown of Vue 3's reactivity engine: dependency tracking, WeakMap->Map->Set structure, activeEffect, scheduler, batching, and real architecture pitfalls.]]></description>
      <media:content url="https://res.cloudinary.com/denj4fg7f/image/upload/v1772497884/vue-3-reactivity-internals_hhru1s.png" medium="image" />
      <media:title><![CDATA[How Vue 3 reactivity works internally]]></media:title>
    </item>
    <item>
      <title><![CDATA[Vue Directives: Custom Directives]]></title>
      <link>https://todovue.blog/blog/directives-vue-custom-directives-guide.en</link>
      <guid>https://todovue.blog/blog/directives-vue-custom-directives-guide.en</guid>
      <pubDate>Fri, 27 Feb 2026 00:00:00 GMT</pubDate>
      <description><![CDATA[Learn how to create custom directives in Vue 3 with real-world cases, lifecycle hooks, proper cleanup, and equivalent Composition API and Options API examples.]]></description>
      <media:content url="https://res.cloudinary.com/denj4fg7f/image/upload/v1772207944/directives-vue-custom-directives-guide_nwp7od.png" medium="image" />
      <media:title><![CDATA[Example of a custom directive in Vue 3]]></media:title>
    </item>
    <item>
      <title><![CDATA[Vue Directives: v-cloak]]></title>
      <link>https://todovue.blog/blog/directives-vue-v-cloak-guide.en</link>
      <guid>https://todovue.blog/blog/directives-vue-v-cloak-guide.en</guid>
      <pubDate>Wed, 25 Feb 2026 00:00:00 GMT</pubDate>
      <description><![CDATA[Learn how to use v-cloak in Vue 3 to prevent template flicker before mount, with Composition API and Options API, real-world use cases, common mistakes, and best practices.]]></description>
      <media:content url="https://res.cloudinary.com/denj4fg7f/image/upload/v1771976009/directives-vue-v-cloak-guide_vhkz2i.png" medium="image" />
      <media:title><![CDATA[Temporary cover image for the article about v-cloak in Vue]]></media:title>
    </item>
    <item>
      <title><![CDATA[Vue Directives: v-once / v-memo / v-pre]]></title>
      <link>https://todovue.blog/blog/directives-vue-v-once-v-memo-v-pre-guide.en</link>
      <guid>https://todovue.blog/blog/directives-vue-v-once-v-memo-v-pre-guide.en</guid>
      <pubDate>Tue, 24 Feb 2026 00:00:00 GMT</pubDate>
      <description><![CDATA[Learn when to use v-once, v-memo, and v-pre in Vue 3 to optimize rendering, avoid unnecessary work, and keep components clear.]]></description>
      <media:content url="https://res.cloudinary.com/denj4fg7f/image/upload/v1771897190/directives-vue-v-once-v-memo-v-pre-guide_ljsdlv.png" medium="image" />
      <media:title><![CDATA[Temporary cover image for the article about v-once, v-memo, and v-pre in Vue]]></media:title>
    </item>
    <item>
      <title><![CDATA[Vue Directives: v-slot]]></title>
      <link>https://todovue.blog/blog/directives-vue-v-slot-guide.en</link>
      <guid>https://todovue.blog/blog/directives-vue-v-slot-guide.en</guid>
      <pubDate>Thu, 19 Feb 2026 00:00:00 GMT</pubDate>
      <description><![CDATA[Learn to master v-slot in Vue 3: default slots, named slots, and scoped slots, with clear examples in Composition API and Options API.]]></description>
      <media:content url="https://res.cloudinary.com/denj4fg7f/image/upload/v1771508914/directives-vue-v-slot-guide_wr2iyy.png" medium="image" />
      <media:title><![CDATA[Cover image for the Vue Directives: v-slot article]]></media:title>
    </item>
    <item>
      <title><![CDATA[Vue Directives: v-model]]></title>
      <link>https://todovue.blog/blog/directives-vue-v-model-guide.en</link>
      <guid>https://todovue.blog/blog/directives-vue-v-model-guide.en</guid>
      <pubDate>Mon, 16 Feb 2026 00:00:00 GMT</pubDate>
      <description><![CDATA[Learn how to use v-model in Vue 3 for forms and custom components, with Composition API and Options API, real-world cases, common mistakes, and best practices.]]></description>
      <media:content url="https://res.cloudinary.com/denj4fg7f/image/upload/v1771265788/directives-vue-v-model-guide_ticgya.png" medium="image" />
      <media:title><![CDATA[Temporary cover image for the article about v-model in Vue]]></media:title>
    </item>
    <item>
      <title><![CDATA[Vue Directives: v-on]]></title>
      <link>https://todovue.blog/blog/directives-vue-v-on-guide.en</link>
      <guid>https://todovue.blog/blog/directives-vue-v-on-guide.en</guid>
      <pubDate>Fri, 13 Feb 2026 00:00:00 GMT</pubDate>
      <description><![CDATA[Learn how to use v-on in Vue with DOM events, modifiers, keyboard shortcuts, and best practices to keep components clear and maintainable.]]></description>
      <media:content url="https://res.cloudinary.com/denj4fg7f/image/upload/v1771022043/directives-vue-v-on-guide_hwtqel.png" medium="image" />
      <media:title><![CDATA[Temporary cover image for the Vue v-on article]]></media:title>
    </item>
    <item>
      <title><![CDATA[Vue Directive: v-bind]]></title>
      <link>https://todovue.blog/blog/directives-vue-v-bind-guide.en</link>
      <guid>https://todovue.blog/blog/directives-vue-v-bind-guide.en</guid>
      <pubDate>Wed, 11 Feb 2026 00:00:00 GMT</pubDate>
      <description><![CDATA[Learn how to use v-bind in Vue from basic syntax to advanced patterns: dynamic attributes, reactive class/style bindings, component props, and common mistakes.]]></description>
      <media:content url="https://res.cloudinary.com/denj4fg7f/image/upload/v1770849828/directives-vue-v-bind-guide_gqrgyj.png" medium="image" />
      <media:title><![CDATA[Temporary cover image for the Vue v-bind article]]></media:title>
    </item>
    <item>
      <title><![CDATA[Vue Directives: v-for]]></title>
      <link>https://todovue.blog/blog/directives-vue-v-for-guide.en</link>
      <guid>https://todovue.blog/blog/directives-vue-v-for-guide.en</guid>
      <pubDate>Tue, 10 Feb 2026 00:00:00 GMT</pubDate>
      <description><![CDATA[Learn to master v-for in Vue with practical examples from basics to advanced patterns, proper key usage, common mistakes, and best practices in Composition API and Options API.]]></description>
      <media:content url="https://res.cloudinary.com/denj4fg7f/image/upload/v1770690176/directives-vue-v-for-guide_itbdds.png" medium="image" />
      <media:title><![CDATA[Temporary cover image for the Vue v-for article]]></media:title>
    </item>
    <item>
      <title><![CDATA[Vue Directives: v-if, v-else, and v-show]]></title>
      <link>https://todovue.blog/blog/directives-vue-v-if-v-else-v-show-guide.en</link>
      <guid>https://todovue.blog/blog/directives-vue-v-if-v-else-v-show-guide.en</guid>
      <pubDate>Thu, 05 Feb 2026 00:00:00 GMT</pubDate>
      <description><![CDATA[Learn how to use v-if, v-else, and v-show in Vue with clear examples, best practices, and key notes to correctly choose between conditional rendering and visibility.]]></description>
      <media:content url="https://res.cloudinary.com/denj4fg7f/image/upload/v1771265982/directives-vue-v-if-v-else-v-show-guide_qmtjik.png" medium="image" />
      <media:title><![CDATA[Conceptual illustration of conditional rendering in Vue.js]]></media:title>
    </item>
    <item>
      <title><![CDATA[Vue Directives: An Overview]]></title>
      <link>https://todovue.blog/blog/vue-directives-overview.en</link>
      <guid>https://todovue.blog/blog/vue-directives-overview.en</guid>
      <pubDate>Wed, 04 Feb 2026 00:00:00 GMT</pubDate>
      <description><![CDATA[Explore Vue.js’ essential directives, their syntax, and common use cases.]]></description>
      <media:content url="https://res.cloudinary.com/denj4fg7f/image/upload/v1770161262/vue-directives-overview_qyrngz.png" medium="image" />
      <media:title><![CDATA[Vue Directives: An Overview]]></media:title>
    </item>
    <item>
      <title><![CDATA[Advanced Patterns in Vue 3: The Power of Renderless Components]]></title>
      <link>https://todovue.blog/blog/mastering-renderless-components-vue-3.en</link>
      <guid>https://todovue.blog/blog/mastering-renderless-components-vue-3.en</guid>
      <pubDate>Fri, 30 Jan 2026 00:00:00 GMT</pubDate>
      <description><![CDATA[Discover how Renderless Components in Vue 3 can improve code reuse and the separation of logic and presentation in your applications.]]></description>
      <media:content url="https://res.cloudinary.com/denj4fg7f/image/upload/v1769789805/mastering-renderless-components-vue-3_f5mqbs.png" medium="image" />
      <media:title><![CDATA[Advanced Patterns in Vue 3: The Power of Renderless Components]]></media:title>
    </item>
    <item>
      <title><![CDATA[Provide and Inject in Vue 3: The Definitive Guide to Eliminating Prop Drilling]]></title>
      <link>https://todovue.blog/blog/vue-provide-inject-avoid-prop-drilling.en</link>
      <guid>https://todovue.blog/blog/vue-provide-inject-avoid-prop-drilling.en</guid>
      <pubDate>Fri, 23 Jan 2026 00:00:00 GMT</pubDate>
      <description><![CDATA[Learn how to use provide and inject in Vue.js to eliminate Prop Drilling, manage reactivity safely with readonly, and improve your component architecture.]]></description>
      <media:content url="https://res.cloudinary.com/denj4fg7f/image/upload/v1769126104/vue-provide-inject-avoid-prop-drilling_pkd9s1.png" medium="image" />
      <media:title><![CDATA[Provide and Inject in Vue 3: The Definitive Guide to Eliminating Prop Drilling]]></media:title>
    </item>
    <item>
      <title><![CDATA[What Is Reactivity? The Magic Behind Vue.js Explained Clearly]]></title>
      <link>https://todovue.blog/blog/vue-reactivity-explained.en</link>
      <guid>https://todovue.blog/blog/vue-reactivity-explained.en</guid>
      <pubDate>Tue, 06 Jan 2026 00:00:00 GMT</pubDate>
      <description><![CDATA[Explore Vue.js’s reactivity system, from simple analogies to its technical implementation with Proxies, and learn to optimize your applications.]]></description>
      <media:content url="https://res.cloudinary.com/denj4fg7f/image/upload/v1767664201/magical_vue_coding_laboratory_p1incq.jpg" medium="image" />
      <media:title><![CDATA[Illustration of a magical Vue.js coding laboratory]]></media:title>
    </item>
    <item>
      <title><![CDATA[Vue 3.6 Beta: The Vapor Mode Revolution and the New Reactivity Engine]]></title>
      <link>https://todovue.blog/blog/vue-beta-vapor-mode-revealed.en</link>
      <guid>https://todovue.blog/blog/vue-beta-vapor-mode-revealed.en</guid>
      <pubDate>Sat, 27 Dec 2025 00:00:00 GMT</pubDate>
      <description><![CDATA[Explore the new features of Vue 3.6 Beta, including Vapor Mode and the alien-signals integration for more efficient reactivity.]]></description>
      <media:content url="https://res.cloudinary.com/denj4fg7f/image/upload/v1766870280/vue-beta-vapor-mode-revealed_snvcqg.png" medium="image" />
      <media:title><![CDATA[Vue.js logo on a source code background]]></media:title>
    </item>
    <item>
      <title><![CDATA[How to create your first project with Vue using Vite?]]></title>
      <link>https://todovue.blog/blog/setting-up-vue-with-vite.en</link>
      <guid>https://todovue.blog/blog/setting-up-vue-with-vite.en</guid>
      <pubDate>Wed, 24 Dec 2025 00:00:00 GMT</pubDate>
      <description><![CDATA[A step-by-step guide to setting up a modern development environment with Vue.js and Vite.]]></description>
      <media:content url="https://res.cloudinary.com/denj4fg7f/image/upload/v1766607505/setting_up_vue_with_vite_crikmp.png" medium="image" />
      <media:title><![CDATA[Vue.js logo with Vite logo in the background]]></media:title>
    </item>
    <item>
      <title><![CDATA[History and Evolution of Vue.js: The Progressive Framework]]></title>
      <link>https://todovue.blog/blog/history-evolution-philosophy-vue-progressive-framework.en</link>
      <guid>https://todovue.blog/blog/history-evolution-philosophy-vue-progressive-framework.en</guid>
      <pubDate>Fri, 19 Dec 2025 00:00:00 GMT</pubDate>
      <description><![CDATA[From its beginnings as a side project at Google to becoming one of the pillars of modern web development, we explore the evolution and philosophy of Vue.js.]]></description>
      <media:content url="https://res.cloudinary.com/denj4fg7f/image/upload/v1766105778/historia_de_vue_wbwv72.png" medium="image" />
      <media:title><![CDATA[Vue.js logo with source code background]]></media:title>
    </item>
    <item>
      <title><![CDATA[What is Vue.js and Why Should You Use It?]]></title>
      <link>https://todovue.blog/blog/what-is-vue-js-and-why-you-should-use-it.en</link>
      <guid>https://todovue.blog/blog/what-is-vue-js-and-why-you-should-use-it.en</guid>
      <pubDate>Thu, 18 Dec 2025 00:00:00 GMT</pubDate>
      <description><![CDATA[Discover Vue.js, a progressive JavaScript framework, and learn why it's an excellent choice for developing modern and reactive web applications.]]></description>
      <media:content url="https://res.cloudinary.com/denj4fg7f/image/upload/v1766101056/What_is_Vuejs_and_Why_Should_You_Use_It_mk5pmg.png" medium="image" />
      <media:title><![CDATA[Vue.js logo on a source code background]]></media:title>
    </item>
    <item>
      <title><![CDATA[TODOvue: A space dedicated to the Vue.js ecosystem]]></title>
      <link>https://todovue.blog/blog/welcome-to-todovue.en</link>
      <guid>https://todovue.blog/blog/welcome-to-todovue.en</guid>
      <pubDate>Wed, 17 Dec 2025 00:00:00 GMT</pubDate>
      <description><![CDATA[Welcome to TODOvue. A technical blog designed by and for developers, where we deep-dive into Vue 3, Nuxt, and modern component architecture.]]></description>
      <media:content url="https://res.cloudinary.com/denj4fg7f/image/upload/v1766098456/TODOvue_idegxt.png" medium="image" />
      <media:title><![CDATA[TODOvue logo with source code background]]></media:title>
    </item>
  </channel>
</rss>