Vue · Senior · Запитання 7 з 75
Що не так, якщо хук життєвого циклу реєструється після await у звичайній функції setup()?
export default {
async setup() {
const data = await load();
onMounted(() => init(data)); // problem
},
};- ✓Правильна відповідь: Після
awaitпоточний екземпляр губиться, і хук не реєструється (Vue попереджає);<script setup>відновлює його автоматично - 2Нічого; хуки можна реєструвати будь-коли
- 3Компонент монтується двічі
Пояснення
Хуки, watch та inject спираються на активний екземпляр, який задано лише під час синхронного setup. Реєструйте їх до першого await або використовуйте <script setup>, компілятор якого зберігає контекст.