[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71JS3XWS7SP88KDV1A0SAH3":3,"skill-same:01M71JS3XWS7SP88KDV1A0SAH3":116},{"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":31,"publishedAt":44,"linkOnly":45,"markdownContent":46,"markdownBody":47,"frontMatter":48,"refName":51,"commitSha":52,"skillDirectory":5,"forksCount":53,"repositoryHtmlUrl":54,"repositoryHomepageUrl":55,"ownerHtmlUrl":56,"ownerBlogUrl":57,"ownerDescription":58,"updatedAt":59,"install":60,"resources":73},"01M71JS3XWS7SP88KDV1A0SAH3","vue-options-api-best-practices",null,"Vue 3 Options API style (data(), methods, this context). Each reference shows Options API solution only.","caezium\u002Fskills","caezium","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F113233555?v=4","01M71JB77ZPBAWEK009Y2W8BP7","Henry Zhang","01M71JB792NVXCWSYD27HQ0964",3,"MIT","https:\u002F\u002Fgithub.com\u002Fcaezium\u002Fskills\u002Fblob\u002Fmain\u002Fvue-options-api-best-practices\u002FSKILL.md",[18,23,26],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000009","前端开发","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000010","后端与接口",{"categoryNo":27,"categoryName":28,"taxonomyType":29,"taxonomyTypeDesc":30},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[32,33,34,35,36,37,38,39,40,41,42,43],"vue options api best practices","options","vue","best practices","api","github","style","methods","only","data","reference","context","2026-11-10 10:12:30",false,"---\nname: vue-options-api-best-practices\ndescription: \"Vue 3 Options API style (data(), methods, this context). Each reference shows Options API solution only.\"\nversion: 2.0.0\nlicense: MIT\nauthor: github.com\u002Fvuejs-ai\n---\n\nVue.js Options API best practices, TypeScript integration, and common gotchas.\n\n### TypeScript\n- Need to enable TypeScript type inference for component properties → See [ts-options-api-use-definecomponent](reference\u002Fts-options-api-use-definecomponent.md)\n- Enabling type safety for Options API this context → See [ts-strict-mode-options-api](reference\u002Fts-strict-mode-options-api.md)\n- Using old TypeScript versions with prop validators → See [ts-options-api-arrow-functions-validators](reference\u002Fts-options-api-arrow-functions-validators.md)\n- Event handler parameters need proper type safety → See [ts-options-api-type-event-handlers](reference\u002Fts-options-api-type-event-handlers.md)\n- Need to type object or array props with interfaces → See [ts-options-api-proptype-complex-types](reference\u002Fts-options-api-proptype-complex-types.md)\n- Injected properties missing TypeScript types completely → See [ts-options-api-provide-inject-limitations](reference\u002Fts-options-api-provide-inject-limitations.md)\n- Complex computed properties lack clear type documentation → See [ts-options-api-computed-return-types](reference\u002Fts-options-api-computed-return-types.md)\n\n### Methods & Lifecycle\n- Methods aren't binding to component instance context → See [no-arrow-functions-in-methods](reference\u002Fno-arrow-functions-in-methods.md)\n- Lifecycle hooks losing access to component data → See [no-arrow-functions-in-lifecycle-hooks](reference\u002Fno-arrow-functions-in-lifecycle-hooks.md)\n- Debounced functions sharing state across component instances → See [stateful-methods-lifecycle](reference\u002Fstateful-methods-lifecycle.md)\n","Vue.js Options API best practices, TypeScript integration, and common gotchas.\n\n### TypeScript\n- Need to enable TypeScript type inference for component properties → See [ts-options-api-use-definecomponent](reference\u002Fts-options-api-use-definecomponent.md)\n- Enabling type safety for Options API this context → See [ts-strict-mode-options-api](reference\u002Fts-strict-mode-options-api.md)\n- Using old TypeScript versions with prop validators → See [ts-options-api-arrow-functions-validators](reference\u002Fts-options-api-arrow-functions-validators.md)\n- Event handler parameters need proper type safety → See [ts-options-api-type-event-handlers](reference\u002Fts-options-api-type-event-handlers.md)\n- Need to type object or array props with interfaces → See [ts-options-api-proptype-complex-types](reference\u002Fts-options-api-proptype-complex-types.md)\n- Injected properties missing TypeScript types completely → See [ts-options-api-provide-inject-limitations](reference\u002Fts-options-api-provide-inject-limitations.md)\n- Complex computed properties lack clear type documentation → See [ts-options-api-computed-return-types](reference\u002Fts-options-api-computed-return-types.md)\n\n### Methods & Lifecycle\n- Methods aren't binding to component instance context → See [no-arrow-functions-in-methods](reference\u002Fno-arrow-functions-in-methods.md)\n- Lifecycle hooks losing access to component data → See [no-arrow-functions-in-lifecycle-hooks](reference\u002Fno-arrow-functions-in-lifecycle-hooks.md)\n- Debounced functions sharing state across component instances → See [stateful-methods-lifecycle](reference\u002Fstateful-methods-lifecycle.md)\n",{"name":5,"author":49,"license":15,"version":50,"description":7},"github.com\u002Fvuejs-ai","2.0.0","main","6ef866230c1ba3459fd08fc65141dfd37fffd41a",0,"https:\u002F\u002Fgithub.com\u002Fcaezium\u002Fskills","https:\u002F\u002Fskills.henryzh.dev","https:\u002F\u002Fgithub.com\u002Fcaezium","henryzh.dev","quant, data science, full-stack, robotics.\r\nbuilding cool stuff","2026-08-24 19:21:44",{"source":8,"skillName":5,"commands":61,"prompt":71,"zipAvailable":72},[62,65,68],{"tool":63,"command":64},"npx","npx skills add caezium\u002Fskills --skill vue-options-api-best-practices",{"tool":66,"command":67},"bunx","bunx skills add caezium\u002Fskills --skill vue-options-api-best-practices",{"tool":69,"command":70},"pnpm","pnpm dlx skills add caezium\u002Fskills --skill vue-options-api-best-practices","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fcaezium\u002Fskills\u002Fblob\u002Fmain\u002Fvue-options-api-best-practices\u002FSKILL.md",true,[74,80,84,88,92,96,100,104,108,112],{"path":75,"resourceType":76,"resourceTypeDesc":77,"sizeBytes":78,"sourceHtmlUrl":79},"reference\u002Fno-arrow-functions-in-lifecycle-hooks.md","REFERENCE","参考文档",2917,"https:\u002F\u002Fgithub.com\u002Fcaezium\u002Fskills\u002Fblob\u002Fmain\u002Fvue-options-api-best-practices\u002Freference\u002Fno-arrow-functions-in-lifecycle-hooks.md",{"path":81,"resourceType":76,"resourceTypeDesc":77,"sizeBytes":82,"sourceHtmlUrl":83},"reference\u002Fno-arrow-functions-in-methods.md",2034,"https:\u002F\u002Fgithub.com\u002Fcaezium\u002Fskills\u002Fblob\u002Fmain\u002Fvue-options-api-best-practices\u002Freference\u002Fno-arrow-functions-in-methods.md",{"path":85,"resourceType":76,"resourceTypeDesc":77,"sizeBytes":86,"sourceHtmlUrl":87},"reference\u002Fstateful-methods-lifecycle.md",1923,"https:\u002F\u002Fgithub.com\u002Fcaezium\u002Fskills\u002Fblob\u002Fmain\u002Fvue-options-api-best-practices\u002Freference\u002Fstateful-methods-lifecycle.md",{"path":89,"resourceType":76,"resourceTypeDesc":77,"sizeBytes":90,"sourceHtmlUrl":91},"reference\u002Fts-options-api-arrow-functions-validators.md",4691,"https:\u002F\u002Fgithub.com\u002Fcaezium\u002Fskills\u002Fblob\u002Fmain\u002Fvue-options-api-best-practices\u002Freference\u002Fts-options-api-arrow-functions-validators.md",{"path":93,"resourceType":76,"resourceTypeDesc":77,"sizeBytes":94,"sourceHtmlUrl":95},"reference\u002Fts-options-api-computed-return-types.md",4924,"https:\u002F\u002Fgithub.com\u002Fcaezium\u002Fskills\u002Fblob\u002Fmain\u002Fvue-options-api-best-practices\u002Freference\u002Fts-options-api-computed-return-types.md",{"path":97,"resourceType":76,"resourceTypeDesc":77,"sizeBytes":98,"sourceHtmlUrl":99},"reference\u002Fts-options-api-proptype-complex-types.md",4909,"https:\u002F\u002Fgithub.com\u002Fcaezium\u002Fskills\u002Fblob\u002Fmain\u002Fvue-options-api-best-practices\u002Freference\u002Fts-options-api-proptype-complex-types.md",{"path":101,"resourceType":76,"resourceTypeDesc":77,"sizeBytes":102,"sourceHtmlUrl":103},"reference\u002Fts-options-api-provide-inject-limitations.md",3342,"https:\u002F\u002Fgithub.com\u002Fcaezium\u002Fskills\u002Fblob\u002Fmain\u002Fvue-options-api-best-practices\u002Freference\u002Fts-options-api-provide-inject-limitations.md",{"path":105,"resourceType":76,"resourceTypeDesc":77,"sizeBytes":106,"sourceHtmlUrl":107},"reference\u002Fts-options-api-type-event-handlers.md",5582,"https:\u002F\u002Fgithub.com\u002Fcaezium\u002Fskills\u002Fblob\u002Fmain\u002Fvue-options-api-best-practices\u002Freference\u002Fts-options-api-type-event-handlers.md",{"path":109,"resourceType":76,"resourceTypeDesc":77,"sizeBytes":110,"sourceHtmlUrl":111},"reference\u002Fts-options-api-use-definecomponent.md",4690,"https:\u002F\u002Fgithub.com\u002Fcaezium\u002Fskills\u002Fblob\u002Fmain\u002Fvue-options-api-best-practices\u002Freference\u002Fts-options-api-use-definecomponent.md",{"path":113,"resourceType":76,"resourceTypeDesc":77,"sizeBytes":114,"sourceHtmlUrl":115},"reference\u002Fts-strict-mode-options-api.md",4840,"https:\u002F\u002Fgithub.com\u002Fcaezium\u002Fskills\u002Fblob\u002Fmain\u002Fvue-options-api-best-practices\u002Freference\u002Fts-strict-mode-options-api.md",[117,137,162,180,200,221],{"skillNo":118,"name":119,"nameZh":6,"description":120,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":121,"categories":122,"keywords":129,"publishedAt":44},"01M71JT4RYCAS18RF6003YYR1D","writing-for-agents","Writing documents for agents. Use when creating or editing skills, or modifying AGENTS.md or CLAUDE.md.","https:\u002F\u002Fgithub.com\u002Fcaezium\u002Fskills\u002Fblob\u002Fmain\u002Fwriting-for-agents\u002FSKILL.md",[123,126],{"categoryNo":124,"categoryName":125,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000018","写作与文案",{"categoryNo":127,"categoryName":128,"taxonomyType":29,"taxonomyTypeDesc":30},"01JBSEEDCAT000000000000036","内容创作者",[130,131,132,133,134,135,136],"writing for agents","for","writing","editing","use","documents","when",{"skillNo":138,"name":139,"nameZh":6,"description":140,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":141,"categories":142,"keywords":144,"publishedAt":44},"01M71JT0GES4AZ5ADH8EADNN1Z","wrangler","Cloudflare Workers CLI for deploying, developing, and managing Workers, KV, R2, D1, Vectorize, Hyperdrive, Workers AI, Containers, Queues, Workflows, Pipelines, and Secrets Store. Load before running wrangler commands to ensure correct syntax and best practices. Biases towards retrieval from Cloudflare docs over pre-trained knowledge.","https:\u002F\u002Fgithub.com\u002Fcaezium\u002Fskills\u002Fblob\u002Fmain\u002Fwrangler\u002FSKILL.md",[143],{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},[139,145,146,147,148,149,150,151,152,153,154,155,156,131,157,158,159,160,35,161],"cloudflare","d1","knowledge","workflows","cli","secrets","commands","syntax","cloudflare workers","r2","queues","running","containers","correct","load","workers","store",{"skillNo":163,"name":164,"nameZh":6,"description":165,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":166,"categories":167,"keywords":168,"publishedAt":44},"01M71JSWX4R203M32K9A18AAW8","workers-best-practices","Reviews and authors Cloudflare Workers code against production best practices. Load when writing new Workers, reviewing Worker code, configuring wrangler.jsonc, or checking for common Workers anti-patterns (streaming, floating promises, global state, secrets, bindings, observability). Biases towards retrieval from Cloudflare docs over pre-trained knowledge.","https:\u002F\u002Fgithub.com\u002Fcaezium\u002Fskills\u002Fblob\u002Fmain\u002Fworkers-best-practices\u002FSKILL.md",[],[169,160,35,170,171,172,131,145,173,147,174,139,132,159,136,175,176,177,178,179],"workers best practices","observability","reviews","promises","worker","new","code","common","streaming","state","anti-patterns",{"skillNo":181,"name":182,"nameZh":6,"description":183,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":184,"categories":185,"keywords":186,"publishedAt":44},"01M71JST6P88MXGT2MWDTPJGEG","wizard","Generate an interactive bash wizard that walks a human through steps only they can perform. Use when provisioning infrastructure, setting up credentials or CI secrets, walking an unfamiliar third-party dashboard, or running a one-off migration or cutover. Don't invoke this for steps the agent can perform itself.","https:\u002F\u002Fgithub.com\u002Fcaezium\u002Fskills\u002Fblob\u002Fmain\u002Fwizard\u002FSKILL.md",[],[182,156,187,131,188,189,190,40,134,191,136,192,193,194,195,196,197,198,199,150],"setting","up","ci","provisioning infrastructure","invoke","Bash","one","interactive","can","credentials","dashboard","generate","human",{"skillNo":201,"name":202,"nameZh":6,"description":203,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":204,"sourceHtmlUrl":205,"categories":206,"keywords":207,"publishedAt":44},"01M71JSQ95S7BQ61DAPN95X2W4","why","Use for 'why does X work this way', 'why we picked Y', design rationale, regressions, postmortems, or data-backed thresholds. Discovers available evidence sources, searches each relevant category, and returns a cited read on decisions and tradeoffs. Use how for runtime behavior.","https:\u002F\u002Fgithub.com\u002Fcaezium\u002Fskills\u002Fblob\u002Fmain\u002Fwhy\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fcaezium\u002Fskills\u002Fblob\u002Fmain\u002Fwhy\u002FSKILL.md",[],[202,208,209,210,211,131,212,213,134,214,215,216,217,218,41,219,220],"sources","thresholds","evidence","relevant","runtime","design","decisions","work","how","behavior","read","rationale","returns",{"skillNo":222,"name":223,"nameZh":6,"description":224,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":225,"categories":226,"keywords":230,"publishedAt":44},"01M71JSMHFVSH8HK8GXN6YAX6J","week-prep","Generate a briefing with calendar, tasks, and attention flags. Use for \"week prep\", \"briefing\", or \"what's on this week\".","https:\u002F\u002Fgithub.com\u002Fcaezium\u002Fskills\u002Fblob\u002Fmain\u002Fweek-prep\u002FSKILL.md",[227],{"categoryNo":228,"categoryName":229,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",[231,232,233,234,235,131,236,237,238,239,134,192,240,241,242,198,243,218,244,245],"week prep","prep","deep","attention","get","search","messages","briefing","MCP","tasks","with","slack","calendar","flags","grep"]