Исправьте лишнюю скобку export default, откройте style обычным тегом и уберите пробел в #app. В Options API импорт filtersData нужно вернуть из data для доступа в шаблоне.
Обнаружить и исправить ошибку в Vue‑компоненте
Исправьте лишнюю скобку export default, откройте style обычным тегом и уберите пробел в #app. В Options API импорт filtersData нужно вернуть из data для доступа в шаблоне.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Условие
Найдите и устраните проблему в приведённом фрагменте кода.
<template>
<div id="app">
<FilterList :filters="filtersData" />
</div>
</template>
<script>
import FilterList from "./components/FilterList.vue";
import filtersData from "./filters.json";
export default {
name: "App",
components: {
FilterList,
},
}
};
</script>
</style>
# app {
font-family: "Avenir", Helvetica, Arial, sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-align: center;
color: #2c3e50;
margin-top: 60px;
}
</style>
Ответ
Исправьте лишнюю скобку export default, откройте style обычным тегом и уберите пробел в #app. В Options API импорт filtersData нужно вернуть из data для доступа в шаблоне.
<template>
<div id="app"><FilterList :filters="filtersData" /></div>
</template>
<script>
import FilterList from './components/FilterList.vue';
import filtersData from './filters.json';
export default {
name: 'App',
components: { FilterList },
data() { return { filtersData }; }
};
</script>
<style>
#app {
font-family: Avenir, Helvetica, Arial, sans-serif;
text-align: center;
color: #2c3e50;
margin-top: 60px;
}
</style>
Дочерний FilterList должен объявлять prop filters и принимать фактическую структуру JSON. В обычном script импортированная переменная не становится автоматически полем экземпляра, в отличие от доступности импортов в script setup.