[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6EV6BNKX2DP01AD0E9K15W5":3,"skill-same:01M6EV6BNKX2DP01AD0E9K15W5":631},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":28,"publishedAt":41,"linkOnly":42,"markdownContent":43,"markdownBody":44,"frontMatter":45,"refName":46,"commitSha":47,"skillDirectory":48,"forksCount":49,"repositoryHtmlUrl":50,"repositoryHomepageUrl":51,"ownerHtmlUrl":52,"ownerBlogUrl":6,"ownerDescription":53,"updatedAt":54,"install":55,"resources":68},"01M6EV6BNKX2DP01AD0E9K15W5","vue-debug-guides",null,"Vue 3 debugging and error handling for runtime errors, warnings, async failures, and SSR\u002Fhydration issues. Use when diagnosing or fixing Vue issues.","ComeOnOliver\u002Fskillshub","ComeOnOliver","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F43215937?v=4","01M6E5JNFECJAAVFE0W7SMWWD2","Haoran Shu","01M6E5JNNDQS7AJZDYFQ8TPZCK",66,"MIT","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002FSKILL.md",[18,23],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000009","前端开发","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":26,"taxonomyTypeDesc":27},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[29,30,31,32,33,34,35,36,37,38,39,40],"debug","vue","vue debug guides","guides","ssr","debugging","error handling","issues","use","async","runtime","error","2026-11-10 10:12:30",false,"---\nname: vue-debug-guides\ndescription: Vue 3 debugging and error handling for runtime errors, warnings, async failures, and SSR\u002Fhydration issues. Use when diagnosing or fixing Vue issues.\n---\n\nVue 3 debugging and error handling for runtime issues, warnings, async failures, and hydration bugs.\nFor development best practices and common gotchas, use `vue-best-practices`.\n\n### Reactivity\n- Tracing unexpected re-renders and state updates → See [reactivity-debugging-hooks](reference\u002Freactivity-debugging-hooks.md)\n- Ref values not updating due to missing .value access → See [ref-value-access](reference\u002Fref-value-access.md)\n- State stops updating after destructuring reactive objects → See [reactive-destructuring](reference\u002Freactive-destructuring.md)\n- Refs inside arrays, Maps, or Sets not unwrapping → See [refs-in-collections-need-value](reference\u002Frefs-in-collections-need-value.md)\n- Nested refs rendering as [object Object] in templates → See [template-ref-unwrapping-top-level](reference\u002Ftemplate-ref-unwrapping-top-level.md)\n- Reactive proxy identity comparisons always return false → See [reactivity-proxy-identity-hazard](reference\u002Freactivity-proxy-identity-hazard.md)\n- Third-party instances breaking when proxied → See [reactivity-markraw-for-non-reactive](reference\u002Freactivity-markraw-for-non-reactive.md)\n- Watchers only firing once per tick unexpectedly → See [reactivity-same-tick-batching](reference\u002Freactivity-same-tick-batching.md)\n\n### Computed\n- Computed getter triggers mutations or requests unexpectedly → See [computed-no-side-effects](reference\u002Fcomputed-no-side-effects.md)\n- Mutating computed values causes changes to disappear → See [computed-return-value-readonly](reference\u002Fcomputed-return-value-readonly.md)\n- Computed value never updates after conditional logic → See [computed-conditional-dependencies](reference\u002Fcomputed-conditional-dependencies.md)\n- Sorting or reversing arrays breaks original state → See [computed-array-mutation](reference\u002Fcomputed-array-mutation.md)\n- Passing parameters to computed properties fails → See [computed-no-parameters](reference\u002Fcomputed-no-parameters.md)\n\n### Watchers\n- Async operations overwriting with stale data → See [watch-async-cleanup](reference\u002Fwatch-async-cleanup.md)\n- Creating watchers inside async callbacks → See [watch-async-creation-memory-leak](reference\u002Fwatch-async-creation-memory-leak.md)\n- Watcher never triggers for reactive object properties → See [watch-reactive-property-getter](reference\u002Fwatch-reactive-property-getter.md)\n- Async watchEffect misses dependencies after await → See [watcheffect-async-dependency-tracking](reference\u002Fwatcheffect-async-dependency-tracking.md)\n- DOM reads are stale inside watcher callbacks → See [watch-flush-timing](reference\u002Fwatch-flush-timing.md)\n- Deep watchers report identical old\u002Fnew values → See [watch-deep-same-object-reference](reference\u002Fwatch-deep-same-object-reference.md)\n- watchEffect runs before template refs update → See [watcheffect-flush-post-for-refs](reference\u002Fwatcheffect-flush-post-for-refs.md)\n\n### Components\n- Child component throws \"component not found\" error → See [local-components-not-in-descendants](reference\u002Flocal-components-not-in-descendants.md)\n- Click listener doesn't fire on custom component → See [click-events-on-components](reference\u002Fclick-events-on-components.md)\n- Parent can't access child ref data in script setup → See [component-ref-requires-defineexpose](reference\u002Fcomponent-ref-requires-defineexpose.md)\n- HTML template parsing breaks Vue component syntax → See [in-dom-template-parsing-caveats](reference\u002Fin-dom-template-parsing-caveats.md)\n- Wrong component renders due to naming collisions → See [component-naming-conflicts](reference\u002Fcomponent-naming-conflicts.md)\n- Parent styles don't apply to multi-root component → See [multi-root-component-class-attrs](reference\u002Fmulti-root-component-class-attrs.md)\n\n### Props & Emits\n- Variables referenced in defineProps cause errors → See [prop-defineprops-scope-limitation](reference\u002Fprop-defineprops-scope-limitation.md)\n- Component emits undeclared event causing warnings → See [declare-emits-for-documentation](reference\u002Fdeclare-emits-for-documentation.md)\n- defineEmits used inside function or conditional → See [defineEmits-must-be-top-level](reference\u002FdefineEmits-must-be-top-level.md)\n- defineEmits has both type and runtime arguments → See [defineEmits-no-runtime-and-type-mixed](reference\u002FdefineEmits-no-runtime-and-type-mixed.md)\n- Native event listeners not responding to clicks → See [native-event-collision-with-emits](reference\u002Fnative-event-collision-with-emits.md)\n- Component event fires twice when clicking → See [undeclared-emits-double-firing](reference\u002Fundeclared-emits-double-firing.md)\n\n### Templates\n- Getting template compilation errors with statements → See [template-expressions-restrictions](reference\u002Ftemplate-expressions-restrictions.md)\n- \"Cannot read property of undefined\" runtime errors → See [v-if-null-check-order](reference\u002Fv-if-null-check-order.md)\n- Dynamic directive arguments not working properly → See [dynamic-argument-constraints](reference\u002Fdynamic-argument-constraints.md)\n- v-else elements rendering unconditionally always → See [v-else-must-follow-v-if](reference\u002Fv-else-must-follow-v-if.md)\n- Mixing v-if with v-for causes precedence bugs and migration breakage → See [no-v-if-with-v-for](reference\u002Fno-v-if-with-v-for.md)\n- Template function calls mutating state cause unpredictable re-render bugs → See [template-functions-no-side-effects](reference\u002Ftemplate-functions-no-side-effects.md)\n- Child components in loops showing undefined data → See [v-for-component-props](reference\u002Fv-for-component-props.md)\n- Array order changing after sorting or reversing → See [v-for-computed-reverse-sort](reference\u002Fv-for-computed-reverse-sort.md)\n- List items disappearing or swapping state unexpectedly → See [v-for-key-attribute](reference\u002Fv-for-key-attribute.md)\n- Getting off-by-one errors with range iteration → See [v-for-range-starts-at-one](reference\u002Fv-for-range-starts-at-one.md)\n- v-show or v-else not working on template elements → See [v-show-template-limitation](reference\u002Fv-show-template-limitation.md)\n\n### Template Refs\n- Ref becomes null when element is conditionally hidden → See [template-ref-null-with-v-if](reference\u002Ftemplate-ref-null-with-v-if.md)\n- Ref array indices don't match data array in loops → See [template-ref-v-for-order](reference\u002Ftemplate-ref-v-for-order.md)\n- Refactoring template ref names breaks silently in code → See [use-template-ref-vue35](reference\u002Fuse-template-ref-vue35.md)\n\n### Forms & v-model\n- Initial form values not showing when using v-model → See [v-model-ignores-html-attributes](reference\u002Fv-model-ignores-html-attributes.md)\n- Textarea content changes not updating the ref → See [textarea-no-interpolation](reference\u002Ftextarea-no-interpolation.md)\n- iOS users cannot select dropdown first option → See [select-initial-value-ios-bug](reference\u002Fselect-initial-value-ios-bug.md)\n- Parent and child components have different values → See [define-model-default-value-sync](reference\u002Fdefine-model-default-value-sync.md)\n- Object property changes not syncing to parent → See [definemodel-object-mutation-no-emit](reference\u002Fdefinemodel-object-mutation-no-emit.md)\n- Real-time search\u002Fvalidation broken for Chinese\u002FJapanese input → See [v-model-ime-composition](reference\u002Fv-model-ime-composition.md)\n- Number input returns empty string instead of zero → See [v-model-number-modifier-behavior](reference\u002Fv-model-number-modifier-behavior.md)\n- Custom checkbox values not submitted in forms → See [checkbox-true-false-value-form-submission](reference\u002Fcheckbox-true-false-value-form-submission.md)\n\n### Events & Modifiers\n- Chaining multiple event modifiers produces unexpected results → See [event-modifier-order-matters](reference\u002Fevent-modifier-order-matters.md)\n- Keyboard shortcuts don't fire with system modifier keys → See [keyup-modifier-timing](reference\u002Fkeyup-modifier-timing.md)\n- Keyboard shortcuts fire with unintended modifier combinations → See [exact-modifier-for-precise-shortcuts](reference\u002Fexact-modifier-for-precise-shortcuts.md)\n- Combining passive and prevent modifiers breaks event behavior → See [no-passive-with-prevent](reference\u002Fno-passive-with-prevent.md)\n\n### Lifecycle\n- Memory leaks from unremoved event listeners → See [cleanup-side-effects](reference\u002Fcleanup-side-effects.md)\n- DOM access fails before component mounts → See [lifecycle-dom-access-timing](reference\u002Flifecycle-dom-access-timing.md)\n- DOM reads return stale values after state changes → See [dom-update-timing-nexttick](reference\u002Fdom-update-timing-nexttick.md)\n- SSR rendering differs from client hydration → See [lifecycle-ssr-awareness](reference\u002Flifecycle-ssr-awareness.md)\n- Lifecycle hooks registered asynchronously never run → See [lifecycle-hooks-synchronous-registration](reference\u002Flifecycle-hooks-synchronous-registration.md)\n\n### Slots\n- Accessing child component data in slot content returns undefined values → See [slot-render-scope-parent-only](reference\u002Fslot-render-scope-parent-only.md)\n- Mixing named and scoped slots together causes compilation errors → See [slot-named-scoped-explicit-default](reference\u002Fslot-named-scoped-explicit-default.md)\n- Using v-slot on native HTML elements causes compilation errors → See [slot-v-slot-on-components-or-templates-only](reference\u002Fslot-v-slot-on-components-or-templates-only.md)\n- Unexpected content placement from implicit default slot behavior → See [slot-implicit-default-content](reference\u002Fslot-implicit-default-content.md)\n- Scoped slot props missing expected name property → See [slot-name-reserved-prop](reference\u002Fslot-name-reserved-prop.md)\n- Wrapper components breaking child slot functionality → See [slot-forwarding-to-child-components](reference\u002Fslot-forwarding-to-child-components.md)\n\n### Provide\u002FInject\n- Calling provide after async operations fails silently → See [provide-inject-synchronous-setup](reference\u002Fprovide-inject-synchronous-setup.md)\n- Tracing where provided values come from → See [provide-inject-debugging-challenges](reference\u002Fprovide-inject-debugging-challenges.md)\n- Injected values not updating when provider changes → See [provide-inject-reactivity-not-automatic](reference\u002Fprovide-inject-reactivity-not-automatic.md)\n- Multiple components share same default object → See [provide-inject-default-value-factory](reference\u002Fprovide-inject-default-value-factory.md)\n\n### Attrs\n- Both internal and fallthrough event handlers execute → See [attrs-event-listener-merging](reference\u002Fattrs-event-listener-merging.md)\n- Explicit attributes overwritten by fallthrough values → See [fallthrough-attrs-overwrite-vue3](reference\u002Ffallthrough-attrs-overwrite-vue3.md)\n- Attributes applying to wrong element in wrappers → See [inheritattrs-false-for-wrapper-components](reference\u002Finheritattrs-false-for-wrapper-components.md)\n\n### Composables\n- Composable called outside setup context or asynchronously → See [composable-call-location-restrictions](reference\u002Fcomposable-call-location-restrictions.md)\n- Composable reactive dependency not updating when input changes → See [composable-tovalue-inside-watcheffect](reference\u002Fcomposable-tovalue-inside-watcheffect.md)\n- Composable mutates external state unexpectedly → See [composable-avoid-hidden-side-effects](reference\u002Fcomposable-avoid-hidden-side-effects.md)\n- Destructuring composable returns breaks reactivity unexpectedly → See [composable-naming-return-pattern](reference\u002Fcomposable-naming-return-pattern.md)\n\n### Composition API\n- Lifecycle hooks failing silently after async operations → See [composition-api-script-setup-async-context](reference\u002Fcomposition-api-script-setup-async-context.md)\n- Parent component refs unable to access exposed properties → See [define-expose-before-await](reference\u002Fdefine-expose-before-await.md)\n- Functional-programming patterns break expected Vue reactivity behavior → See [composition-api-not-functional-programming](reference\u002Fcomposition-api-not-functional-programming.md)\n- React Hook mental model causes incorrect Composition API usage → See [composition-api-vs-react-hooks-differences](reference\u002Fcomposition-api-vs-react-hooks-differences.md)\n\n### Animation\n- Animations fail to trigger when DOM nodes are reused → See [animation-key-for-rerender](reference\u002Fanimation-key-for-rerender.md)\n- TransitionGroup list updates feel laggy under load → See [animation-transitiongroup-performance](reference\u002Fanimation-transitiongroup-performance.md)\n\n### TypeScript\n- Mutable prop defaults leak state between component instances → See [ts-withdefaults-mutable-factory-function](reference\u002Fts-withdefaults-mutable-factory-function.md)\n- reactive() generic typing causes ref unwrapping mismatches → See [ts-reactive-no-generic-argument](reference\u002Fts-reactive-no-generic-argument.md)\n- Template refs throw null access errors before mount or after v-if unmount → See [ts-template-ref-null-handling](reference\u002Fts-template-ref-null-handling.md)\n- Optional boolean props behave as false instead of undefined → See [ts-defineprops-boolean-default-false](reference\u002Fts-defineprops-boolean-default-false.md)\n- Imported defineProps types fail with unresolvable or complex type references → See [ts-defineprops-imported-types-limitations](reference\u002Fts-defineprops-imported-types-limitations.md)\n- Untyped DOM event handlers fail under strict TypeScript settings → See [ts-event-handler-explicit-typing](reference\u002Fts-event-handler-explicit-typing.md)\n- Dynamic component refs trigger reactive component warnings → See [ts-shallowref-for-dynamic-components](reference\u002Fts-shallowref-for-dynamic-components.md)\n- Union-typed template expressions fail type checks without narrowing → See [ts-template-type-casting](reference\u002Fts-template-type-casting.md)\n\n### Async Components\n- Route components misconfigured with defineAsyncComponent lazy loading → See [async-component-vue-router](reference\u002Fasync-component-vue-router.md)\n- Network failures or timeouts loading components → See [async-component-error-handling](reference\u002Fasync-component-error-handling.md)\n- Template refs undefined after component reactivation → See [async-component-keepalive-ref-issue](reference\u002Fasync-component-keepalive-ref-issue.md)\n\n### Render Functions\n- Render function output stays static after state changes → See [rendering-render-function-return-from-setup](reference\u002Frendering-render-function-return-from-setup.md)\n- Reused vnode instances render incorrectly → See [render-function-vnodes-must-be-unique](reference\u002Frender-function-vnodes-must-be-unique.md)\n- String component names render as HTML elements → See [rendering-resolve-component-for-string-names](reference\u002Frendering-resolve-component-for-string-names.md)\n- Accessing vnode internals breaks on Vue updates → See [render-function-avoid-internal-vnode-properties](reference\u002Frender-function-avoid-internal-vnode-properties.md)\n- Vue 2 render function patterns crash in Vue 3 → See [rendering-render-function-h-import-vue3](reference\u002Frendering-render-function-h-import-vue3.md)\n- Slot content not rendering from h() → See [rendering-render-function-slots-as-functions](reference\u002Frendering-render-function-slots-as-functions.md)\n\n### KeepAlive\n- Child components mount twice with nested Vue Router routes → See [keepalive-router-nested-double-mount](reference\u002Fkeepalive-router-nested-double-mount.md)\n- Memory grows when combining KeepAlive with Transition animations → See [keepalive-transition-memory-leak](reference\u002Fkeepalive-transition-memory-leak.md)\n\n### Transitions\n- JavaScript transition hooks hang without done callback → See [transition-js-hooks-done-callback](reference\u002Ftransition-js-hooks-done-callback.md)\n- Move animations fail on inline list elements → See [transition-group-flip-inline-elements](reference\u002Ftransition-group-flip-inline-elements.md)\n- List items jump instead of smoothly animating → See [transition-group-move-animation-position-absolute](reference\u002Ftransition-group-move-animation-position-absolute.md)\n- Vue 2 to Vue 3 TransitionGroup wrapper changes break layout → See [transition-group-no-default-wrapper-vue3](reference\u002Ftransition-group-no-default-wrapper-vue3.md)\n- Nested transitions cut off before finishing → See [transition-nested-duration](reference\u002Ftransition-nested-duration.md)\n- Scoped styles stop working in reusable transition wrappers → See [transition-reusable-scoped-style](reference\u002Ftransition-reusable-scoped-style.md)\n- RouterView transitions animate unexpectedly on first render → See [transition-router-view-appear](reference\u002Ftransition-router-view-appear.md)\n- Mixing CSS transitions and animations causes timing issues → See [transition-type-when-mixed](reference\u002Ftransition-type-when-mixed.md)\n- Cleanup hooks missed during rapid transition swaps → See [transition-unmount-hook-timing](reference\u002Ftransition-unmount-hook-timing.md)\n\n### Teleport\n- Teleport target element not found in DOM → See [teleport-target-must-exist](reference\u002Fteleport-target-must-exist.md)\n- Teleported content breaks SSR hydration → See [teleport-ssr-hydration](reference\u002Fteleport-ssr-hydration.md)\n- Scoped styles not applying to teleported content → See [teleport-scoped-styles-limitation](reference\u002Fteleport-scoped-styles-limitation.md)\n\n### Suspense\n- Need to handle async errors from Suspense components → See [suspense-no-builtin-error-handling](reference\u002Fsuspense-no-builtin-error-handling.md)\n- Using Suspense with server-side rendering → See [suspense-ssr-hydration-issues](reference\u002Fsuspense-ssr-hydration-issues.md)\n- Async component loading\u002Ferror UI ignored under Suspense → See [async-component-suspense-control](reference\u002Fasync-component-suspense-control.md)\n\n### SSR\n- HTML differs between server and client renders → See [ssr-hydration-mismatch-causes](reference\u002Fssr-hydration-mismatch-causes.md)\n- User state leaks between requests from shared singleton stores → See [state-ssr-cross-request-pollution](reference\u002Fstate-ssr-cross-request-pollution.md)\n- Browser-only APIs crash server rendering in universal code paths → See [ssr-platform-specific-apis](reference\u002Fssr-platform-specific-apis.md)\n\n### Performance\n- List children re-render unnecessarily because parent passes unstable props → See [perf-props-stability-update-optimization](reference\u002Fperf-props-stability-update-optimization.md)\n- Computed objects retrigger effects despite equivalent values → See [perf-computed-object-stability](reference\u002Fperf-computed-object-stability.md)\n\n### SFC (Single File Components)\n- Trying to use named exports from component script blocks → See [sfc-named-exports-forbidden](reference\u002Fsfc-named-exports-forbidden.md)\n- Variables not updating in template after changes → See [sfc-script-setup-reactivity](reference\u002Fsfc-script-setup-reactivity.md)\n- Scoped styles not applying to child component elements → See [sfc-scoped-css-child-component-styling](reference\u002Fsfc-scoped-css-child-component-styling.md)\n- Scoped styles not applying to dynamic v-html content → See [sfc-scoped-css-dynamic-content](reference\u002Fsfc-scoped-css-dynamic-content.md)\n- Scoped styles not applying to slot content → See [sfc-scoped-css-slot-content](reference\u002Fsfc-scoped-css-slot-content.md)\n- Tailwind classes missing when built dynamically → See [tailwind-dynamic-class-generation](reference\u002Ftailwind-dynamic-class-generation.md)\n- Recursive components not rendering due to name conflicts → See [self-referencing-component-name](reference\u002Fself-referencing-component-name.md)\n\n### Plugins\n- Debugging why global properties cause naming conflicts → See [plugin-global-properties-sparingly](reference\u002Fplugin-global-properties-sparingly.md)\n- Plugin not working or inject returns undefined → See [plugin-install-before-mount](reference\u002Fplugin-install-before-mount.md)\n- Plugin global properties are unavailable in setup-based components → See [plugin-prefer-provide-inject-over-global-properties](reference\u002Fplugin-prefer-provide-inject-over-global-properties.md)\n- Plugin type augmentation mistakes break ComponentCustomProperties typing → See [plugin-typescript-type-augmentation](reference\u002Fplugin-typescript-type-augmentation.md)\n\n### App Configuration\n- App configuration methods not working after mount call → See [configure-app-before-mount](reference\u002Fconfigure-app-before-mount.md)\n- Chaining app config off mount() fails because mount returns component instance → See [mount-return-value](reference\u002Fmount-return-value.md)\n- require.context-based component auto-registration fails in Vite → See [dynamic-component-registration-vite](reference\u002Fdynamic-component-registration-vite.md)\n","Vue 3 debugging and error handling for runtime issues, warnings, async failures, and hydration bugs.\nFor development best practices and common gotchas, use `vue-best-practices`.\n\n### Reactivity\n- Tracing unexpected re-renders and state updates → See [reactivity-debugging-hooks](reference\u002Freactivity-debugging-hooks.md)\n- Ref values not updating due to missing .value access → See [ref-value-access](reference\u002Fref-value-access.md)\n- State stops updating after destructuring reactive objects → See [reactive-destructuring](reference\u002Freactive-destructuring.md)\n- Refs inside arrays, Maps, or Sets not unwrapping → See [refs-in-collections-need-value](reference\u002Frefs-in-collections-need-value.md)\n- Nested refs rendering as [object Object] in templates → See [template-ref-unwrapping-top-level](reference\u002Ftemplate-ref-unwrapping-top-level.md)\n- Reactive proxy identity comparisons always return false → See [reactivity-proxy-identity-hazard](reference\u002Freactivity-proxy-identity-hazard.md)\n- Third-party instances breaking when proxied → See [reactivity-markraw-for-non-reactive](reference\u002Freactivity-markraw-for-non-reactive.md)\n- Watchers only firing once per tick unexpectedly → See [reactivity-same-tick-batching](reference\u002Freactivity-same-tick-batching.md)\n\n### Computed\n- Computed getter triggers mutations or requests unexpectedly → See [computed-no-side-effects](reference\u002Fcomputed-no-side-effects.md)\n- Mutating computed values causes changes to disappear → See [computed-return-value-readonly](reference\u002Fcomputed-return-value-readonly.md)\n- Computed value never updates after conditional logic → See [computed-conditional-dependencies](reference\u002Fcomputed-conditional-dependencies.md)\n- Sorting or reversing arrays breaks original state → See [computed-array-mutation](reference\u002Fcomputed-array-mutation.md)\n- Passing parameters to computed properties fails → See [computed-no-parameters](reference\u002Fcomputed-no-parameters.md)\n\n### Watchers\n- Async operations overwriting with stale data → See [watch-async-cleanup](reference\u002Fwatch-async-cleanup.md)\n- Creating watchers inside async callbacks → See [watch-async-creation-memory-leak](reference\u002Fwatch-async-creation-memory-leak.md)\n- Watcher never triggers for reactive object properties → See [watch-reactive-property-getter](reference\u002Fwatch-reactive-property-getter.md)\n- Async watchEffect misses dependencies after await → See [watcheffect-async-dependency-tracking](reference\u002Fwatcheffect-async-dependency-tracking.md)\n- DOM reads are stale inside watcher callbacks → See [watch-flush-timing](reference\u002Fwatch-flush-timing.md)\n- Deep watchers report identical old\u002Fnew values → See [watch-deep-same-object-reference](reference\u002Fwatch-deep-same-object-reference.md)\n- watchEffect runs before template refs update → See [watcheffect-flush-post-for-refs](reference\u002Fwatcheffect-flush-post-for-refs.md)\n\n### Components\n- Child component throws \"component not found\" error → See [local-components-not-in-descendants](reference\u002Flocal-components-not-in-descendants.md)\n- Click listener doesn't fire on custom component → See [click-events-on-components](reference\u002Fclick-events-on-components.md)\n- Parent can't access child ref data in script setup → See [component-ref-requires-defineexpose](reference\u002Fcomponent-ref-requires-defineexpose.md)\n- HTML template parsing breaks Vue component syntax → See [in-dom-template-parsing-caveats](reference\u002Fin-dom-template-parsing-caveats.md)\n- Wrong component renders due to naming collisions → See [component-naming-conflicts](reference\u002Fcomponent-naming-conflicts.md)\n- Parent styles don't apply to multi-root component → See [multi-root-component-class-attrs](reference\u002Fmulti-root-component-class-attrs.md)\n\n### Props & Emits\n- Variables referenced in defineProps cause errors → See [prop-defineprops-scope-limitation](reference\u002Fprop-defineprops-scope-limitation.md)\n- Component emits undeclared event causing warnings → See [declare-emits-for-documentation](reference\u002Fdeclare-emits-for-documentation.md)\n- defineEmits used inside function or conditional → See [defineEmits-must-be-top-level](reference\u002FdefineEmits-must-be-top-level.md)\n- defineEmits has both type and runtime arguments → See [defineEmits-no-runtime-and-type-mixed](reference\u002FdefineEmits-no-runtime-and-type-mixed.md)\n- Native event listeners not responding to clicks → See [native-event-collision-with-emits](reference\u002Fnative-event-collision-with-emits.md)\n- Component event fires twice when clicking → See [undeclared-emits-double-firing](reference\u002Fundeclared-emits-double-firing.md)\n\n### Templates\n- Getting template compilation errors with statements → See [template-expressions-restrictions](reference\u002Ftemplate-expressions-restrictions.md)\n- \"Cannot read property of undefined\" runtime errors → See [v-if-null-check-order](reference\u002Fv-if-null-check-order.md)\n- Dynamic directive arguments not working properly → See [dynamic-argument-constraints](reference\u002Fdynamic-argument-constraints.md)\n- v-else elements rendering unconditionally always → See [v-else-must-follow-v-if](reference\u002Fv-else-must-follow-v-if.md)\n- Mixing v-if with v-for causes precedence bugs and migration breakage → See [no-v-if-with-v-for](reference\u002Fno-v-if-with-v-for.md)\n- Template function calls mutating state cause unpredictable re-render bugs → See [template-functions-no-side-effects](reference\u002Ftemplate-functions-no-side-effects.md)\n- Child components in loops showing undefined data → See [v-for-component-props](reference\u002Fv-for-component-props.md)\n- Array order changing after sorting or reversing → See [v-for-computed-reverse-sort](reference\u002Fv-for-computed-reverse-sort.md)\n- List items disappearing or swapping state unexpectedly → See [v-for-key-attribute](reference\u002Fv-for-key-attribute.md)\n- Getting off-by-one errors with range iteration → See [v-for-range-starts-at-one](reference\u002Fv-for-range-starts-at-one.md)\n- v-show or v-else not working on template elements → See [v-show-template-limitation](reference\u002Fv-show-template-limitation.md)\n\n### Template Refs\n- Ref becomes null when element is conditionally hidden → See [template-ref-null-with-v-if](reference\u002Ftemplate-ref-null-with-v-if.md)\n- Ref array indices don't match data array in loops → See [template-ref-v-for-order](reference\u002Ftemplate-ref-v-for-order.md)\n- Refactoring template ref names breaks silently in code → See [use-template-ref-vue35](reference\u002Fuse-template-ref-vue35.md)\n\n### Forms & v-model\n- Initial form values not showing when using v-model → See [v-model-ignores-html-attributes](reference\u002Fv-model-ignores-html-attributes.md)\n- Textarea content changes not updating the ref → See [textarea-no-interpolation](reference\u002Ftextarea-no-interpolation.md)\n- iOS users cannot select dropdown first option → See [select-initial-value-ios-bug](reference\u002Fselect-initial-value-ios-bug.md)\n- Parent and child components have different values → See [define-model-default-value-sync](reference\u002Fdefine-model-default-value-sync.md)\n- Object property changes not syncing to parent → See [definemodel-object-mutation-no-emit](reference\u002Fdefinemodel-object-mutation-no-emit.md)\n- Real-time search\u002Fvalidation broken for Chinese\u002FJapanese input → See [v-model-ime-composition](reference\u002Fv-model-ime-composition.md)\n- Number input returns empty string instead of zero → See [v-model-number-modifier-behavior](reference\u002Fv-model-number-modifier-behavior.md)\n- Custom checkbox values not submitted in forms → See [checkbox-true-false-value-form-submission](reference\u002Fcheckbox-true-false-value-form-submission.md)\n\n### Events & Modifiers\n- Chaining multiple event modifiers produces unexpected results → See [event-modifier-order-matters](reference\u002Fevent-modifier-order-matters.md)\n- Keyboard shortcuts don't fire with system modifier keys → See [keyup-modifier-timing](reference\u002Fkeyup-modifier-timing.md)\n- Keyboard shortcuts fire with unintended modifier combinations → See [exact-modifier-for-precise-shortcuts](reference\u002Fexact-modifier-for-precise-shortcuts.md)\n- Combining passive and prevent modifiers breaks event behavior → See [no-passive-with-prevent](reference\u002Fno-passive-with-prevent.md)\n\n### Lifecycle\n- Memory leaks from unremoved event listeners → See [cleanup-side-effects](reference\u002Fcleanup-side-effects.md)\n- DOM access fails before component mounts → See [lifecycle-dom-access-timing](reference\u002Flifecycle-dom-access-timing.md)\n- DOM reads return stale values after state changes → See [dom-update-timing-nexttick](reference\u002Fdom-update-timing-nexttick.md)\n- SSR rendering differs from client hydration → See [lifecycle-ssr-awareness](reference\u002Flifecycle-ssr-awareness.md)\n- Lifecycle hooks registered asynchronously never run → See [lifecycle-hooks-synchronous-registration](reference\u002Flifecycle-hooks-synchronous-registration.md)\n\n### Slots\n- Accessing child component data in slot content returns undefined values → See [slot-render-scope-parent-only](reference\u002Fslot-render-scope-parent-only.md)\n- Mixing named and scoped slots together causes compilation errors → See [slot-named-scoped-explicit-default](reference\u002Fslot-named-scoped-explicit-default.md)\n- Using v-slot on native HTML elements causes compilation errors → See [slot-v-slot-on-components-or-templates-only](reference\u002Fslot-v-slot-on-components-or-templates-only.md)\n- Unexpected content placement from implicit default slot behavior → See [slot-implicit-default-content](reference\u002Fslot-implicit-default-content.md)\n- Scoped slot props missing expected name property → See [slot-name-reserved-prop](reference\u002Fslot-name-reserved-prop.md)\n- Wrapper components breaking child slot functionality → See [slot-forwarding-to-child-components](reference\u002Fslot-forwarding-to-child-components.md)\n\n### Provide\u002FInject\n- Calling provide after async operations fails silently → See [provide-inject-synchronous-setup](reference\u002Fprovide-inject-synchronous-setup.md)\n- Tracing where provided values come from → See [provide-inject-debugging-challenges](reference\u002Fprovide-inject-debugging-challenges.md)\n- Injected values not updating when provider changes → See [provide-inject-reactivity-not-automatic](reference\u002Fprovide-inject-reactivity-not-automatic.md)\n- Multiple components share same default object → See [provide-inject-default-value-factory](reference\u002Fprovide-inject-default-value-factory.md)\n\n### Attrs\n- Both internal and fallthrough event handlers execute → See [attrs-event-listener-merging](reference\u002Fattrs-event-listener-merging.md)\n- Explicit attributes overwritten by fallthrough values → See [fallthrough-attrs-overwrite-vue3](reference\u002Ffallthrough-attrs-overwrite-vue3.md)\n- Attributes applying to wrong element in wrappers → See [inheritattrs-false-for-wrapper-components](reference\u002Finheritattrs-false-for-wrapper-components.md)\n\n### Composables\n- Composable called outside setup context or asynchronously → See [composable-call-location-restrictions](reference\u002Fcomposable-call-location-restrictions.md)\n- Composable reactive dependency not updating when input changes → See [composable-tovalue-inside-watcheffect](reference\u002Fcomposable-tovalue-inside-watcheffect.md)\n- Composable mutates external state unexpectedly → See [composable-avoid-hidden-side-effects](reference\u002Fcomposable-avoid-hidden-side-effects.md)\n- Destructuring composable returns breaks reactivity unexpectedly → See [composable-naming-return-pattern](reference\u002Fcomposable-naming-return-pattern.md)\n\n### Composition API\n- Lifecycle hooks failing silently after async operations → See [composition-api-script-setup-async-context](reference\u002Fcomposition-api-script-setup-async-context.md)\n- Parent component refs unable to access exposed properties → See [define-expose-before-await](reference\u002Fdefine-expose-before-await.md)\n- Functional-programming patterns break expected Vue reactivity behavior → See [composition-api-not-functional-programming](reference\u002Fcomposition-api-not-functional-programming.md)\n- React Hook mental model causes incorrect Composition API usage → See [composition-api-vs-react-hooks-differences](reference\u002Fcomposition-api-vs-react-hooks-differences.md)\n\n### Animation\n- Animations fail to trigger when DOM nodes are reused → See [animation-key-for-rerender](reference\u002Fanimation-key-for-rerender.md)\n- TransitionGroup list updates feel laggy under load → See [animation-transitiongroup-performance](reference\u002Fanimation-transitiongroup-performance.md)\n\n### TypeScript\n- Mutable prop defaults leak state between component instances → See [ts-withdefaults-mutable-factory-function](reference\u002Fts-withdefaults-mutable-factory-function.md)\n- reactive() generic typing causes ref unwrapping mismatches → See [ts-reactive-no-generic-argument](reference\u002Fts-reactive-no-generic-argument.md)\n- Template refs throw null access errors before mount or after v-if unmount → See [ts-template-ref-null-handling](reference\u002Fts-template-ref-null-handling.md)\n- Optional boolean props behave as false instead of undefined → See [ts-defineprops-boolean-default-false](reference\u002Fts-defineprops-boolean-default-false.md)\n- Imported defineProps types fail with unresolvable or complex type references → See [ts-defineprops-imported-types-limitations](reference\u002Fts-defineprops-imported-types-limitations.md)\n- Untyped DOM event handlers fail under strict TypeScript settings → See [ts-event-handler-explicit-typing](reference\u002Fts-event-handler-explicit-typing.md)\n- Dynamic component refs trigger reactive component warnings → See [ts-shallowref-for-dynamic-components](reference\u002Fts-shallowref-for-dynamic-components.md)\n- Union-typed template expressions fail type checks without narrowing → See [ts-template-type-casting](reference\u002Fts-template-type-casting.md)\n\n### Async Components\n- Route components misconfigured with defineAsyncComponent lazy loading → See [async-component-vue-router](reference\u002Fasync-component-vue-router.md)\n- Network failures or timeouts loading components → See [async-component-error-handling](reference\u002Fasync-component-error-handling.md)\n- Template refs undefined after component reactivation → See [async-component-keepalive-ref-issue](reference\u002Fasync-component-keepalive-ref-issue.md)\n\n### Render Functions\n- Render function output stays static after state changes → See [rendering-render-function-return-from-setup](reference\u002Frendering-render-function-return-from-setup.md)\n- Reused vnode instances render incorrectly → See [render-function-vnodes-must-be-unique](reference\u002Frender-function-vnodes-must-be-unique.md)\n- String component names render as HTML elements → See [rendering-resolve-component-for-string-names](reference\u002Frendering-resolve-component-for-string-names.md)\n- Accessing vnode internals breaks on Vue updates → See [render-function-avoid-internal-vnode-properties](reference\u002Frender-function-avoid-internal-vnode-properties.md)\n- Vue 2 render function patterns crash in Vue 3 → See [rendering-render-function-h-import-vue3](reference\u002Frendering-render-function-h-import-vue3.md)\n- Slot content not rendering from h() → See [rendering-render-function-slots-as-functions](reference\u002Frendering-render-function-slots-as-functions.md)\n\n### KeepAlive\n- Child components mount twice with nested Vue Router routes → See [keepalive-router-nested-double-mount](reference\u002Fkeepalive-router-nested-double-mount.md)\n- Memory grows when combining KeepAlive with Transition animations → See [keepalive-transition-memory-leak](reference\u002Fkeepalive-transition-memory-leak.md)\n\n### Transitions\n- JavaScript transition hooks hang without done callback → See [transition-js-hooks-done-callback](reference\u002Ftransition-js-hooks-done-callback.md)\n- Move animations fail on inline list elements → See [transition-group-flip-inline-elements](reference\u002Ftransition-group-flip-inline-elements.md)\n- List items jump instead of smoothly animating → See [transition-group-move-animation-position-absolute](reference\u002Ftransition-group-move-animation-position-absolute.md)\n- Vue 2 to Vue 3 TransitionGroup wrapper changes break layout → See [transition-group-no-default-wrapper-vue3](reference\u002Ftransition-group-no-default-wrapper-vue3.md)\n- Nested transitions cut off before finishing → See [transition-nested-duration](reference\u002Ftransition-nested-duration.md)\n- Scoped styles stop working in reusable transition wrappers → See [transition-reusable-scoped-style](reference\u002Ftransition-reusable-scoped-style.md)\n- RouterView transitions animate unexpectedly on first render → See [transition-router-view-appear](reference\u002Ftransition-router-view-appear.md)\n- Mixing CSS transitions and animations causes timing issues → See [transition-type-when-mixed](reference\u002Ftransition-type-when-mixed.md)\n- Cleanup hooks missed during rapid transition swaps → See [transition-unmount-hook-timing](reference\u002Ftransition-unmount-hook-timing.md)\n\n### Teleport\n- Teleport target element not found in DOM → See [teleport-target-must-exist](reference\u002Fteleport-target-must-exist.md)\n- Teleported content breaks SSR hydration → See [teleport-ssr-hydration](reference\u002Fteleport-ssr-hydration.md)\n- Scoped styles not applying to teleported content → See [teleport-scoped-styles-limitation](reference\u002Fteleport-scoped-styles-limitation.md)\n\n### Suspense\n- Need to handle async errors from Suspense components → See [suspense-no-builtin-error-handling](reference\u002Fsuspense-no-builtin-error-handling.md)\n- Using Suspense with server-side rendering → See [suspense-ssr-hydration-issues](reference\u002Fsuspense-ssr-hydration-issues.md)\n- Async component loading\u002Ferror UI ignored under Suspense → See [async-component-suspense-control](reference\u002Fasync-component-suspense-control.md)\n\n### SSR\n- HTML differs between server and client renders → See [ssr-hydration-mismatch-causes](reference\u002Fssr-hydration-mismatch-causes.md)\n- User state leaks between requests from shared singleton stores → See [state-ssr-cross-request-pollution](reference\u002Fstate-ssr-cross-request-pollution.md)\n- Browser-only APIs crash server rendering in universal code paths → See [ssr-platform-specific-apis](reference\u002Fssr-platform-specific-apis.md)\n\n### Performance\n- List children re-render unnecessarily because parent passes unstable props → See [perf-props-stability-update-optimization](reference\u002Fperf-props-stability-update-optimization.md)\n- Computed objects retrigger effects despite equivalent values → See [perf-computed-object-stability](reference\u002Fperf-computed-object-stability.md)\n\n### SFC (Single File Components)\n- Trying to use named exports from component script blocks → See [sfc-named-exports-forbidden](reference\u002Fsfc-named-exports-forbidden.md)\n- Variables not updating in template after changes → See [sfc-script-setup-reactivity](reference\u002Fsfc-script-setup-reactivity.md)\n- Scoped styles not applying to child component elements → See [sfc-scoped-css-child-component-styling](reference\u002Fsfc-scoped-css-child-component-styling.md)\n- Scoped styles not applying to dynamic v-html content → See [sfc-scoped-css-dynamic-content](reference\u002Fsfc-scoped-css-dynamic-content.md)\n- Scoped styles not applying to slot content → See [sfc-scoped-css-slot-content](reference\u002Fsfc-scoped-css-slot-content.md)\n- Tailwind classes missing when built dynamically → See [tailwind-dynamic-class-generation](reference\u002Ftailwind-dynamic-class-generation.md)\n- Recursive components not rendering due to name conflicts → See [self-referencing-component-name](reference\u002Fself-referencing-component-name.md)\n\n### Plugins\n- Debugging why global properties cause naming conflicts → See [plugin-global-properties-sparingly](reference\u002Fplugin-global-properties-sparingly.md)\n- Plugin not working or inject returns undefined → See [plugin-install-before-mount](reference\u002Fplugin-install-before-mount.md)\n- Plugin global properties are unavailable in setup-based components → See [plugin-prefer-provide-inject-over-global-properties](reference\u002Fplugin-prefer-provide-inject-over-global-properties.md)\n- Plugin type augmentation mistakes break ComponentCustomProperties typing → See [plugin-typescript-type-augmentation](reference\u002Fplugin-typescript-type-augmentation.md)\n\n### App Configuration\n- App configuration methods not working after mount call → See [configure-app-before-mount](reference\u002Fconfigure-app-before-mount.md)\n- Chaining app config off mount() fails because mount returns component instance → See [mount-return-value](reference\u002Fmount-return-value.md)\n- require.context-based component auto-registration fails in Vite → See [dynamic-component-registration-vite](reference\u002Fdynamic-component-registration-vite.md)\n",{"name":5,"description":7},"main","def8531e65114c0fca8fb8551c1871ee0eed705c","skills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides",24,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub","https:\u002F\u002Fskillshub.wtf","https:\u002F\u002Fgithub.com\u002FComeOnOliver","AI & Blockchain Engineer\r\n","2026-06-24 22:07:19",{"source":8,"skillName":5,"commands":56,"prompt":66,"zipAvailable":67},[57,60,63],{"tool":58,"command":59},"npx","npx skills add ComeOnOliver\u002Fskillshub --skill vue-debug-guides",{"tool":61,"command":62},"bunx","bunx skills add ComeOnOliver\u002Fskillshub --skill vue-debug-guides",{"tool":64,"command":65},"pnpm","pnpm dlx skills add ComeOnOliver\u002Fskillshub --skill vue-debug-guides","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002FSKILL.md",true,[69,75,79,83,87,91,95,99,103,107,111,115,119,123,127,131,135,139,143,147,151,155,159,163,167,171,175,179,183,187,191,195,199,203,207,211,215,219,223,227,231,235,239,243,247,251,255,259,263,267,271,275,279,283,287,291,295,299,303,307,311,315,319,323,327,331,335,339,343,347,351,355,359,363,367,371,375,379,383,387,391,395,399,403,407,411,415,419,423,427,431,435,439,443,447,451,455,459,463,467,471,475,479,483,487,491,495,499,503,507,511,515,519,523,527,531,535,539,543,547,551,555,559,563,567,571,575,579,583,587,591,595,599,603,607,611,615,619,623,627],{"path":70,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":73,"sourceHtmlUrl":74},"reference\u002Fanimation-key-for-rerender.md","REFERENCE","参考文档",4601,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Fanimation-key-for-rerender.md",{"path":76,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":77,"sourceHtmlUrl":78},"reference\u002Fanimation-transitiongroup-performance.md",5854,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Fanimation-transitiongroup-performance.md",{"path":80,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":81,"sourceHtmlUrl":82},"reference\u002Fasync-component-error-handling.md",3291,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Fasync-component-error-handling.md",{"path":84,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":85,"sourceHtmlUrl":86},"reference\u002Fasync-component-keepalive-ref-issue.md",2894,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Fasync-component-keepalive-ref-issue.md",{"path":88,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":89,"sourceHtmlUrl":90},"reference\u002Fasync-component-suspense-control.md",2167,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Fasync-component-suspense-control.md",{"path":92,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":93,"sourceHtmlUrl":94},"reference\u002Fasync-component-vue-router.md",2893,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Fasync-component-vue-router.md",{"path":96,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":97,"sourceHtmlUrl":98},"reference\u002Fattrs-event-listener-merging.md",4707,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Fattrs-event-listener-merging.md",{"path":100,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":101,"sourceHtmlUrl":102},"reference\u002Fcheckbox-true-false-value-form-submission.md",3505,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Fcheckbox-true-false-value-form-submission.md",{"path":104,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":105,"sourceHtmlUrl":106},"reference\u002Fcleanup-side-effects.md",4343,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Fcleanup-side-effects.md",{"path":108,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":109,"sourceHtmlUrl":110},"reference\u002Fclick-events-on-components.md",4730,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Fclick-events-on-components.md",{"path":112,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":113,"sourceHtmlUrl":114},"reference\u002Fcomponent-naming-conflicts.md",4461,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Fcomponent-naming-conflicts.md",{"path":116,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":117,"sourceHtmlUrl":118},"reference\u002Fcomponent-ref-requires-defineexpose.md",4204,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Fcomponent-ref-requires-defineexpose.md",{"path":120,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":121,"sourceHtmlUrl":122},"reference\u002Fcomposable-avoid-hidden-side-effects.md",5867,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Fcomposable-avoid-hidden-side-effects.md",{"path":124,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":125,"sourceHtmlUrl":126},"reference\u002Fcomposable-call-location-restrictions.md",4903,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Fcomposable-call-location-restrictions.md",{"path":128,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":129,"sourceHtmlUrl":130},"reference\u002Fcomposable-naming-return-pattern.md",3994,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Fcomposable-naming-return-pattern.md",{"path":132,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":133,"sourceHtmlUrl":134},"reference\u002Fcomposable-tovalue-inside-watcheffect.md",5216,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Fcomposable-tovalue-inside-watcheffect.md",{"path":136,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":137,"sourceHtmlUrl":138},"reference\u002Fcomposition-api-not-functional-programming.md",3896,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Fcomposition-api-not-functional-programming.md",{"path":140,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":141,"sourceHtmlUrl":142},"reference\u002Fcomposition-api-script-setup-async-context.md",5360,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Fcomposition-api-script-setup-async-context.md",{"path":144,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":145,"sourceHtmlUrl":146},"reference\u002Fcomposition-api-vs-react-hooks-differences.md",4909,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Fcomposition-api-vs-react-hooks-differences.md",{"path":148,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":149,"sourceHtmlUrl":150},"reference\u002Fcomputed-array-mutation.md",4372,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Fcomputed-array-mutation.md",{"path":152,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":153,"sourceHtmlUrl":154},"reference\u002Fcomputed-conditional-dependencies.md",4379,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Fcomputed-conditional-dependencies.md",{"path":156,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":157,"sourceHtmlUrl":158},"reference\u002Fcomputed-no-parameters.md",4490,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Fcomputed-no-parameters.md",{"path":160,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":161,"sourceHtmlUrl":162},"reference\u002Fcomputed-no-side-effects.md",3289,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Fcomputed-no-side-effects.md",{"path":164,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":165,"sourceHtmlUrl":166},"reference\u002Fcomputed-return-value-readonly.md",4096,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Fcomputed-return-value-readonly.md",{"path":168,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":169,"sourceHtmlUrl":170},"reference\u002Fconfigure-app-before-mount.md",2776,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Fconfigure-app-before-mount.md",{"path":172,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":173,"sourceHtmlUrl":174},"reference\u002Fdeclare-emits-for-documentation.md",5121,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Fdeclare-emits-for-documentation.md",{"path":176,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":177,"sourceHtmlUrl":178},"reference\u002Fdefine-expose-before-await.md",4288,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Fdefine-expose-before-await.md",{"path":180,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":181,"sourceHtmlUrl":182},"reference\u002Fdefine-model-default-value-sync.md",4046,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Fdefine-model-default-value-sync.md",{"path":184,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":185,"sourceHtmlUrl":186},"reference\u002FdefineEmits-must-be-top-level.md",4156,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002FdefineEmits-must-be-top-level.md",{"path":188,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":189,"sourceHtmlUrl":190},"reference\u002FdefineEmits-no-runtime-and-type-mixed.md",4342,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002FdefineEmits-no-runtime-and-type-mixed.md",{"path":192,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":193,"sourceHtmlUrl":194},"reference\u002Fdefinemodel-object-mutation-no-emit.md",4103,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Fdefinemodel-object-mutation-no-emit.md",{"path":196,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":197,"sourceHtmlUrl":198},"reference\u002Fdom-update-timing-nexttick.md",2791,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Fdom-update-timing-nexttick.md",{"path":200,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":201,"sourceHtmlUrl":202},"reference\u002Fdynamic-argument-constraints.md",4333,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Fdynamic-argument-constraints.md",{"path":204,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":205,"sourceHtmlUrl":206},"reference\u002Fdynamic-component-registration-vite.md",4256,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Fdynamic-component-registration-vite.md",{"path":208,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":209,"sourceHtmlUrl":210},"reference\u002Fevent-modifier-order-matters.md",2815,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Fevent-modifier-order-matters.md",{"path":212,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":213,"sourceHtmlUrl":214},"reference\u002Fexact-modifier-for-precise-shortcuts.md",4368,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Fexact-modifier-for-precise-shortcuts.md",{"path":216,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":217,"sourceHtmlUrl":218},"reference\u002Ffallthrough-attrs-overwrite-vue3.md",3912,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Ffallthrough-attrs-overwrite-vue3.md",{"path":220,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":221,"sourceHtmlUrl":222},"reference\u002Fin-dom-template-parsing-caveats.md",4530,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Fin-dom-template-parsing-caveats.md",{"path":224,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":225,"sourceHtmlUrl":226},"reference\u002Finheritattrs-false-for-wrapper-components.md",4515,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Finheritattrs-false-for-wrapper-components.md",{"path":228,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":229,"sourceHtmlUrl":230},"reference\u002Fkeepalive-router-nested-double-mount.md",5111,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Fkeepalive-router-nested-double-mount.md",{"path":232,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":233,"sourceHtmlUrl":234},"reference\u002Fkeepalive-transition-memory-leak.md",3574,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Fkeepalive-transition-memory-leak.md",{"path":236,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":237,"sourceHtmlUrl":238},"reference\u002Fkeyup-modifier-timing.md",4297,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Fkeyup-modifier-timing.md",{"path":240,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":241,"sourceHtmlUrl":242},"reference\u002Flifecycle-dom-access-timing.md",5186,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Flifecycle-dom-access-timing.md",{"path":244,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":245,"sourceHtmlUrl":246},"reference\u002Flifecycle-hooks-synchronous-registration.md",3919,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Flifecycle-hooks-synchronous-registration.md",{"path":248,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":249,"sourceHtmlUrl":250},"reference\u002Flifecycle-ssr-awareness.md",5114,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Flifecycle-ssr-awareness.md",{"path":252,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":253,"sourceHtmlUrl":254},"reference\u002Flocal-components-not-in-descendants.md",3772,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Flocal-components-not-in-descendants.md",{"path":256,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":257,"sourceHtmlUrl":258},"reference\u002Fmount-return-value.md",2691,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Fmount-return-value.md",{"path":260,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":261,"sourceHtmlUrl":262},"reference\u002Fmulti-root-component-class-attrs.md",2437,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Fmulti-root-component-class-attrs.md",{"path":264,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":265,"sourceHtmlUrl":266},"reference\u002Fnative-event-collision-with-emits.md",4556,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Fnative-event-collision-with-emits.md",{"path":268,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":269,"sourceHtmlUrl":270},"reference\u002Fno-passive-with-prevent.md",3807,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Fno-passive-with-prevent.md",{"path":272,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":273,"sourceHtmlUrl":274},"reference\u002Fno-v-if-with-v-for.md",3929,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Fno-v-if-with-v-for.md",{"path":276,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":277,"sourceHtmlUrl":278},"reference\u002Fperf-computed-object-stability.md",4772,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Fperf-computed-object-stability.md",{"path":280,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":281,"sourceHtmlUrl":282},"reference\u002Fperf-props-stability-update-optimization.md",3820,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Fperf-props-stability-update-optimization.md",{"path":284,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":285,"sourceHtmlUrl":286},"reference\u002Fplugin-global-properties-sparingly.md",3471,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Fplugin-global-properties-sparingly.md",{"path":288,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":289,"sourceHtmlUrl":290},"reference\u002Fplugin-install-before-mount.md",3215,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Fplugin-install-before-mount.md",{"path":292,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":293,"sourceHtmlUrl":294},"reference\u002Fplugin-prefer-provide-inject-over-global-properties.md",3435,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Fplugin-prefer-provide-inject-over-global-properties.md",{"path":296,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":297,"sourceHtmlUrl":298},"reference\u002Fplugin-typescript-type-augmentation.md",4179,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Fplugin-typescript-type-augmentation.md",{"path":300,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":301,"sourceHtmlUrl":302},"reference\u002Fprop-defineprops-scope-limitation.md",3717,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Fprop-defineprops-scope-limitation.md",{"path":304,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":305,"sourceHtmlUrl":306},"reference\u002Fprovide-inject-debugging-challenges.md",5651,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Fprovide-inject-debugging-challenges.md",{"path":308,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":309,"sourceHtmlUrl":310},"reference\u002Fprovide-inject-default-value-factory.md",5690,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Fprovide-inject-default-value-factory.md",{"path":312,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":313,"sourceHtmlUrl":314},"reference\u002Fprovide-inject-reactivity-not-automatic.md",5133,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Fprovide-inject-reactivity-not-automatic.md",{"path":316,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":317,"sourceHtmlUrl":318},"reference\u002Fprovide-inject-synchronous-setup.md",5171,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Fprovide-inject-synchronous-setup.md",{"path":320,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":321,"sourceHtmlUrl":322},"reference\u002Freactive-destructuring.md",2672,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Freactive-destructuring.md",{"path":324,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":325,"sourceHtmlUrl":326},"reference\u002Freactivity-debugging-hooks.md",4323,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Freactivity-debugging-hooks.md",{"path":328,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":329,"sourceHtmlUrl":330},"reference\u002Freactivity-markraw-for-non-reactive.md",4670,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Freactivity-markraw-for-non-reactive.md",{"path":332,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":333,"sourceHtmlUrl":334},"reference\u002Freactivity-proxy-identity-hazard.md",3044,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Freactivity-proxy-identity-hazard.md",{"path":336,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":337,"sourceHtmlUrl":338},"reference\u002Freactivity-same-tick-batching.md",4529,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Freactivity-same-tick-batching.md",{"path":340,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":341,"sourceHtmlUrl":342},"reference\u002Fref-value-access.md",2099,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Fref-value-access.md",{"path":344,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":345,"sourceHtmlUrl":346},"reference\u002Frefs-in-collections-need-value.md",3029,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Frefs-in-collections-need-value.md",{"path":348,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":349,"sourceHtmlUrl":350},"reference\u002Frender-function-avoid-internal-vnode-properties.md",4370,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Frender-function-avoid-internal-vnode-properties.md",{"path":352,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":353,"sourceHtmlUrl":354},"reference\u002Frender-function-vnodes-must-be-unique.md",3525,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Frender-function-vnodes-must-be-unique.md",{"path":356,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":357,"sourceHtmlUrl":358},"reference\u002Frendering-render-function-h-import-vue3.md",3348,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Frendering-render-function-h-import-vue3.md",{"path":360,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":361,"sourceHtmlUrl":362},"reference\u002Frendering-render-function-return-from-setup.md",3640,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Frendering-render-function-return-from-setup.md",{"path":364,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":365,"sourceHtmlUrl":366},"reference\u002Frendering-render-function-slots-as-functions.md",4135,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Frendering-render-function-slots-as-functions.md",{"path":368,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":369,"sourceHtmlUrl":370},"reference\u002Frendering-resolve-component-for-string-names.md",5737,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Frendering-resolve-component-for-string-names.md",{"path":372,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":373,"sourceHtmlUrl":374},"reference\u002Fselect-initial-value-ios-bug.md",3123,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Fselect-initial-value-ios-bug.md",{"path":376,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":377,"sourceHtmlUrl":378},"reference\u002Fself-referencing-component-name.md",3734,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Fself-referencing-component-name.md",{"path":380,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":381,"sourceHtmlUrl":382},"reference\u002Fsfc-named-exports-forbidden.md",4423,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Fsfc-named-exports-forbidden.md",{"path":384,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":385,"sourceHtmlUrl":386},"reference\u002Fsfc-scoped-css-child-component-styling.md",3741,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Fsfc-scoped-css-child-component-styling.md",{"path":388,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":389,"sourceHtmlUrl":390},"reference\u002Fsfc-scoped-css-dynamic-content.md",4462,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Fsfc-scoped-css-dynamic-content.md",{"path":392,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":393,"sourceHtmlUrl":394},"reference\u002Fsfc-scoped-css-slot-content.md",4684,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Fsfc-scoped-css-slot-content.md",{"path":396,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":397,"sourceHtmlUrl":398},"reference\u002Fsfc-script-setup-reactivity.md",5059,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Fsfc-script-setup-reactivity.md",{"path":400,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":401,"sourceHtmlUrl":402},"reference\u002Fslot-forwarding-to-child-components.md",4019,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Fslot-forwarding-to-child-components.md",{"path":404,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":405,"sourceHtmlUrl":406},"reference\u002Fslot-implicit-default-content.md",3468,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Fslot-implicit-default-content.md",{"path":408,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":409,"sourceHtmlUrl":410},"reference\u002Fslot-name-reserved-prop.md",2781,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Fslot-name-reserved-prop.md",{"path":412,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":413,"sourceHtmlUrl":414},"reference\u002Fslot-named-scoped-explicit-default.md",3007,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Fslot-named-scoped-explicit-default.md",{"path":416,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":417,"sourceHtmlUrl":418},"reference\u002Fslot-render-scope-parent-only.md",3652,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Fslot-render-scope-parent-only.md",{"path":420,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":421,"sourceHtmlUrl":422},"reference\u002Fslot-v-slot-on-components-or-templates-only.md",3081,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Fslot-v-slot-on-components-or-templates-only.md",{"path":424,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":425,"sourceHtmlUrl":426},"reference\u002Fssr-hydration-mismatch-causes.md",6945,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Fssr-hydration-mismatch-causes.md",{"path":428,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":429,"sourceHtmlUrl":430},"reference\u002Fssr-platform-specific-apis.md",6925,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Fssr-platform-specific-apis.md",{"path":432,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":433,"sourceHtmlUrl":434},"reference\u002Fstate-ssr-cross-request-pollution.md",7102,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Fstate-ssr-cross-request-pollution.md",{"path":436,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":437,"sourceHtmlUrl":438},"reference\u002Fsuspense-no-builtin-error-handling.md",3010,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Fsuspense-no-builtin-error-handling.md",{"path":440,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":441,"sourceHtmlUrl":442},"reference\u002Fsuspense-ssr-hydration-issues.md",4301,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Fsuspense-ssr-hydration-issues.md",{"path":444,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":445,"sourceHtmlUrl":446},"reference\u002Ftailwind-dynamic-class-generation.md",3157,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Ftailwind-dynamic-class-generation.md",{"path":448,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":449,"sourceHtmlUrl":450},"reference\u002Fteleport-scoped-styles-limitation.md",3905,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Fteleport-scoped-styles-limitation.md",{"path":452,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":453,"sourceHtmlUrl":454},"reference\u002Fteleport-ssr-hydration.md",3781,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Fteleport-ssr-hydration.md",{"path":456,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":457,"sourceHtmlUrl":458},"reference\u002Fteleport-target-must-exist.md",3304,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Fteleport-target-must-exist.md",{"path":460,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":461,"sourceHtmlUrl":462},"reference\u002Ftemplate-expressions-restrictions.md",3443,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Ftemplate-expressions-restrictions.md",{"path":464,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":465,"sourceHtmlUrl":466},"reference\u002Ftemplate-functions-no-side-effects.md",5193,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Ftemplate-functions-no-side-effects.md",{"path":468,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":469,"sourceHtmlUrl":470},"reference\u002Ftemplate-ref-null-with-v-if.md",3023,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Ftemplate-ref-null-with-v-if.md",{"path":472,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":473,"sourceHtmlUrl":474},"reference\u002Ftemplate-ref-unwrapping-top-level.md",3135,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Ftemplate-ref-unwrapping-top-level.md",{"path":476,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":477,"sourceHtmlUrl":478},"reference\u002Ftemplate-ref-v-for-order.md",4547,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Ftemplate-ref-v-for-order.md",{"path":480,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":481,"sourceHtmlUrl":482},"reference\u002Ftextarea-no-interpolation.md",2298,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Ftextarea-no-interpolation.md",{"path":484,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":485,"sourceHtmlUrl":486},"reference\u002Ftransition-group-flip-inline-elements.md",4021,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Ftransition-group-flip-inline-elements.md",{"path":488,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":489,"sourceHtmlUrl":490},"reference\u002Ftransition-group-move-animation-position-absolute.md",3747,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Ftransition-group-move-animation-position-absolute.md",{"path":492,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":493,"sourceHtmlUrl":494},"reference\u002Ftransition-group-no-default-wrapper-vue3.md",4003,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Ftransition-group-no-default-wrapper-vue3.md",{"path":496,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":497,"sourceHtmlUrl":498},"reference\u002Ftransition-js-hooks-done-callback.md",6164,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Ftransition-js-hooks-done-callback.md",{"path":500,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":501,"sourceHtmlUrl":502},"reference\u002Ftransition-nested-duration.md",4997,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Ftransition-nested-duration.md",{"path":504,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":505,"sourceHtmlUrl":506},"reference\u002Ftransition-reusable-scoped-style.md",5290,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Ftransition-reusable-scoped-style.md",{"path":508,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":509,"sourceHtmlUrl":510},"reference\u002Ftransition-router-view-appear.md",4930,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Ftransition-router-view-appear.md",{"path":512,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":513,"sourceHtmlUrl":514},"reference\u002Ftransition-type-when-mixed.md",4419,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Ftransition-type-when-mixed.md",{"path":516,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":517,"sourceHtmlUrl":518},"reference\u002Ftransition-unmount-hook-timing.md",4309,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Ftransition-unmount-hook-timing.md",{"path":520,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":521,"sourceHtmlUrl":522},"reference\u002Fts-defineprops-boolean-default-false.md",5532,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Fts-defineprops-boolean-default-false.md",{"path":524,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":525,"sourceHtmlUrl":526},"reference\u002Fts-defineprops-imported-types-limitations.md",6017,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Fts-defineprops-imported-types-limitations.md",{"path":528,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":529,"sourceHtmlUrl":530},"reference\u002Fts-event-handler-explicit-typing.md",5945,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Fts-event-handler-explicit-typing.md",{"path":532,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":533,"sourceHtmlUrl":534},"reference\u002Fts-reactive-no-generic-argument.md",4845,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Fts-reactive-no-generic-argument.md",{"path":536,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":537,"sourceHtmlUrl":538},"reference\u002Fts-shallowref-for-dynamic-components.md",6081,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Fts-shallowref-for-dynamic-components.md",{"path":540,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":541,"sourceHtmlUrl":542},"reference\u002Fts-template-ref-null-handling.md",5354,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Fts-template-ref-null-handling.md",{"path":544,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":545,"sourceHtmlUrl":546},"reference\u002Fts-template-type-casting.md",5096,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Fts-template-type-casting.md",{"path":548,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":549,"sourceHtmlUrl":550},"reference\u002Fts-withdefaults-mutable-factory-function.md",4641,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Fts-withdefaults-mutable-factory-function.md",{"path":552,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":553,"sourceHtmlUrl":554},"reference\u002Fundeclared-emits-double-firing.md",4973,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Fundeclared-emits-double-firing.md",{"path":556,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":557,"sourceHtmlUrl":558},"reference\u002Fuse-template-ref-vue35.md",4285,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Fuse-template-ref-vue35.md",{"path":560,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":561,"sourceHtmlUrl":562},"reference\u002Fv-else-must-follow-v-if.md",3962,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Fv-else-must-follow-v-if.md",{"path":564,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":565,"sourceHtmlUrl":566},"reference\u002Fv-for-component-props.md",2621,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Fv-for-component-props.md",{"path":568,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":569,"sourceHtmlUrl":570},"reference\u002Fv-for-computed-reverse-sort.md",2843,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Fv-for-computed-reverse-sort.md",{"path":572,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":573,"sourceHtmlUrl":574},"reference\u002Fv-for-key-attribute.md",3244,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Fv-for-key-attribute.md",{"path":576,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":577,"sourceHtmlUrl":578},"reference\u002Fv-for-range-starts-at-one.md",2264,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Fv-for-range-starts-at-one.md",{"path":580,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":581,"sourceHtmlUrl":582},"reference\u002Fv-if-null-check-order.md",4305,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Fv-if-null-check-order.md",{"path":584,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":585,"sourceHtmlUrl":586},"reference\u002Fv-model-ignores-html-attributes.md",2519,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Fv-model-ignores-html-attributes.md",{"path":588,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":589,"sourceHtmlUrl":590},"reference\u002Fv-model-ime-composition.md",2897,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Fv-model-ime-composition.md",{"path":592,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":593,"sourceHtmlUrl":594},"reference\u002Fv-model-number-modifier-behavior.md",3693,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Fv-model-number-modifier-behavior.md",{"path":596,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":597,"sourceHtmlUrl":598},"reference\u002Fv-show-template-limitation.md",3635,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Fv-show-template-limitation.md",{"path":600,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":601,"sourceHtmlUrl":602},"reference\u002Fwatch-async-cleanup.md",4434,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Fwatch-async-cleanup.md",{"path":604,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":605,"sourceHtmlUrl":606},"reference\u002Fwatch-async-creation-memory-leak.md",4133,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Fwatch-async-creation-memory-leak.md",{"path":608,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":609,"sourceHtmlUrl":610},"reference\u002Fwatch-deep-same-object-reference.md",4444,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Fwatch-deep-same-object-reference.md",{"path":612,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":613,"sourceHtmlUrl":614},"reference\u002Fwatch-flush-timing.md",5038,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Fwatch-flush-timing.md",{"path":616,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":617,"sourceHtmlUrl":618},"reference\u002Fwatch-reactive-property-getter.md",3017,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Fwatch-reactive-property-getter.md",{"path":620,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":621,"sourceHtmlUrl":622},"reference\u002Fwatcheffect-async-dependency-tracking.md",4645,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Fwatcheffect-async-dependency-tracking.md",{"path":624,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":625,"sourceHtmlUrl":626},"reference\u002Fwatcheffect-flush-post-for-refs.md",4276,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Freference\u002Fwatcheffect-flush-post-for-refs.md",{"path":628,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":629,"sourceHtmlUrl":630},"skill-report.json",503719,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fhyf0\u002Fvue-debug-guides\u002Fskill-report.json",[632,644,654,663,669,676],{"skillNo":633,"name":634,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":635,"categories":636,"keywords":640,"publishedAt":41},"01M6FKJN13GMG4KY57J3QD8GY5","model-hierarchy-skill","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzscole\u002Fmodel-hierarchy-skill\u002Fmodel-hierarchy-skill\u002FSKILL.md",[637],{"categoryNo":638,"categoryName":639,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",[641,642,643],"model","model hierarchy","model hierarchy skill",{"skillNo":645,"name":646,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":647,"categories":648,"keywords":650,"publishedAt":41},"01M6FKJJJ6GCAMR4PPPRD12M5X","zoom-mcp","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-mcp\u002FSKILL.md",[649],{"categoryNo":638,"categoryName":639,"taxonomyType":21,"taxonomyTypeDesc":22},[651,652,653],"MCP","zoom","zoom mcp",{"skillNo":655,"name":656,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":657,"categories":658,"keywords":659,"publishedAt":41},"01M6FKJE3KYT3KPEZMEEHYKA6K","zoom-apps-sdk","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-apps-sdk\u002FSKILL.md",[],[660,661,662,652],"sdk","zoom apps sdk","apps",{"skillNo":664,"name":665,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":666,"categories":667,"keywords":668,"publishedAt":41},"01M6FKJ9EDH9Q5VWDF8HAJRSP0","windows","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwindows\u002FSKILL.md",[],[665],{"skillNo":670,"name":671,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":672,"categories":673,"keywords":675,"publishedAt":41},"01M6FKJ666BEEFC3AE9GJ72Q93","whiteboard","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwhiteboard\u002FSKILL.md",[674],{"categoryNo":638,"categoryName":639,"taxonomyType":21,"taxonomyTypeDesc":22},[671],{"skillNo":677,"name":678,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":679,"categories":680,"keywords":681,"publishedAt":41},"01M6FKJ21WFCDGTJQ2Q91T9DVW","websockets","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwebsockets\u002FSKILL.md",[],[678]]