Vue
Vue
特点:
- Declarative Rendering/声明式渲染:扩展了HTML
- Reactivity/响应式:自动跟踪js状态变化并更新DOM
The Progressive Framework
it’s a framework that can grow with you and adapt to your needs.
SFC/Single-File Component
即*.vue文件,encapsulates the component’s logic (JavaScript), template (HTML), and styles (CSS) in a single file.
API Styles
In fact, the Options API is implemented on top of the Composition API!
Options API
define a component’s logic using an object of options such as data
, methods
, and mounted
. Properties defined by options are exposed on this
inside functions, which points to the component instance.
<script>
export default {
// Properties returned from data() becomes reactive state
// and will be exposed on `this`.
data() {
return {
count: 0
}
},
// Methods are functions that mutate state and trigger updates.
// They can be bound as event listeners in templates.
methods: {
increment() {
this.count++
}
},
// Lifecycle hooks are called at different stages
// of a component's lifecycle.
// This function will be called when the component is mounted.
mounted() {
console.log(`The initial count is ${this.count}.`)
}
}
</script>
<template>
<button @click="increment">Count is: {{ count }}</button>
</template>
Composition API
define a component’s logic using imported API functions.
In SFCs, Composition API is typically used with <script setup>
.
The setup
attribute is a hint that makes Vue perform compile-time transforms that allow us to use Composition API with less boilerplate.
For example, imports and top-level variables / functions declared in <script setup>
are directly usable in the template.
<script setup>
import { ref, onMounted } from 'vue'
// reactive state
const count = ref(0)
// functions that mutate state and trigger updates
function increment() {
count.value++
}
// lifecycle hooks
onMounted(() => {
console.log(`The initial count is ${count.value}.`)
})
</script>
<template>
<button @click="increment">Count is: {{ count }}</button>
</template>
VSCode
- Volar是官方插件(替换原来Vue2的Vetur),可以很好的支持TypeScript。
- TypeScript Vue Plugin