Я не уверен, что означает «полностью совместимый с TypeScript». Но вы определенно можете использовать TypeScript с API композиции Vue, а TypeScript помогает улучшить код и опыт разработчика.
Вот пример использования плагина композиции с Vue 2 :
import { computed, createComponent, reactive } from "@vue/composition-api";
export default createComponent({
name: "Hello",
template: `<p>{{ state.message }}</p>`,
props: {
name: {
type: String,
required: true
}
},
setup(props, context) {
const state = reactive({
message: computed(() => `Hello, ${props.name}!`)
});
return {
state
};
}
});
Весь код выше набран хорошо. API композиции (здесь: createComponent
, reactive
, computed
) предоставляется с правильными типами. Обратите внимание, что с составным API нам больше не нужно использовать this
.