【发布时间】:2021-04-07 17:05:48
【问题描述】:
我正在尝试找出对“新”Vue Composition API 的需求。
假设我们有以下组件,来自他们的basic example:
<template>
<button @click="increment">
Count is: {{ state.count }}, double is: {{ state.double }}
</button>
</template>
<script>
import { reactive, computed } from '@vue/composition-api'
export default {
setup () {
const state = reactive({
count: 0,
double: computed(() => state.count * 2),
})
function increment () {
state.count++
}
return {
state,
increment,
}
},
}
</script>
我们还可以使用纯 JavaScript 编写这种“组合样式”,并通过 data 选项使其可用:
<template>
<button @click="increment">
Count is: {{ state.count }}, double is: {{ state.double }}
</button>
</template>
<script>
export default {
data () {
const state = {
count: 0,
get double () {
return this.count * 2
},
}
function increment () {
state.count++
}
return {
state,
increment,
}
},
}
</script>
这两个选项在功能上有什么区别吗?组合 API 有哪些优势?
【问题讨论】:
标签: javascript vue.js vue-composition-api