Composition API vs Options API
Composition API vs Options API
// Composition API (recommended for new projects)
import { ref, computed } from 'vue';
const count = ref(0);
const doubled = computed(() => count.value * 2);
// Options API (traditional)
export default {
data() { return { count: 0 }; },
computed: { doubled() { return this.count * 2; } }
};
Reactivity Fundamentals
// ref - for primitives and single values
const count = ref(0);
count.value++; // access with .value
// reactive - for objects
const state = reactive({ count: 0, name: 'Vue' });
state.count++; // direct access
// computed - derived state
const doubled = computed(() => count.value * 2);
// watch - side effects
watch(count, (newVal, oldVal) => {
console.log(`Count changed from ${oldVal} to ${newVal}`);
});
Component Communication
// Props (parent → child)
defineProps<{ message: string }>();
// Emits (child → parent)
const emit = defineEmits<{ submit: [data: FormData] }>();
emit('submit', formData);
// Provide/Inject (ancestor → descendant)
// Parent
provide('theme', ref('dark'));
// Child
const theme = inject<Ref<string>>('theme');
Setup & Configuration
Component Development
<script setup>Routing & Navigation
State Management
Performance
v-once for static contentv-memo for expensive rendersAccessibility (WCAG 2.1 AA)
Security
v-html with untrusted content📚 Full Examples: See REFERENCE.md for complete code samples, detailed configurations, and production-ready implementations.
Implementation Guide (~4000-5000 tokens)
The Composition API provides better TypeScript support and code organization:
See REFERENCE.md for complete implementation.
ref vs reactive:
ref: Primitives, single values, needs .value in scriptreactive: Objects, arrays, no .value neededSee REFERENCE.md for complete implementation.
See REFERENCE.md for complete implementation.
See REFERENCE.md for complete implementation.
See REFERENCE.md for complete implementation.
See REFERENCE.md for complete implementation.
See REFERENCE.md for complete implementation.
See REFERENCE.md for complete implementation.
See REFERENCE.md for complete implementation.
See REFERENCE.md for complete implementation.
See REFERENCE.md for complete implementation.
See REFERENCE.md for complete implementation.
See REFERENCE.md for complete implementation.
See REFERENCE.md for complete implementation.
See REFERENCE.md for complete implementation.
See REFERENCE.md for complete implementation.
See REFERENCE.md for complete implementation.
See REFERENCE.md for complete implementation.
See REFERENCE.md for complete implementation.
See REFERENCE.md for complete implementation.
See REFERENCE.md for complete implementation.
See REFERENCE.md for complete implementation.
See REFERENCE.md for complete implementation.
See REFERENCE.md for complete implementation.
See REFERENCE.md for complete implementation.
See REFERENCE.md for complete implementation.
See REFERENCE.md for complete implementation.
See REFERENCE.md for complete implementation.
templates/composition-component.vue - Complete component templatetemplates/pinia-store.ts - Pinia store templatetemplates/component.test.ts - Vitest test templateconfig/vitest.config.ts - Vitest configurationresources/accessibility-checklist.md - WCAG 2.1 AA checklistresources/performance-checklist.md - Performance optimization guide// TODO: Add basic example for vue
// This example demonstrates core functionality
// TODO: Add advanced example for vue
// This example shows production-ready patterns
// TODO: Add integration example showing how vue
// works with other systems and services
See examples/vue/ for complete working examples.
This skill integrates with:
Problem: Not testing edge cases and error conditions leads to production bugs
Solution: Implement comprehensive test coverage including:
Prevention: Enforce minimum code coverage (80%+) in CI/CD pipeline
Problem: Hardcoding values makes applications inflexible and environment-dependent
Solution: Use environment variables and configuration management:
Prevention: Use tools like dotenv, config validators, and secret scanners
Problem: Security vulnerabilities from not following established security patterns
Solution: Follow security guidelines:
Prevention: Use security linters, SAST tools, and regular dependency updates
Best Practices:
Note: This skill focuses on Vue 3 Composition API, modern tooling (Vite, Vitest), and production-ready patterns. For options API or Vue 2, refer to the official migration guides.
npx skills add williamzujkowski/vue-frontend下载完整 Skill 目录,包含 SKILL.md 及所有相关文件
Category:other