Обнаружить и исправить ошибку в Vue‑компоненте

Исправьте лишнюю скобку export default, откройте style обычным тегом и уберите пробел в #app. В Options API импорт filtersData нужно вернуть из data для доступа в шаблоне.

Короткий ответ

Что ответить на собеседовании

Исправьте лишнюю скобку 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.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее