#vue.js #webpack #axios
#vue.js #webpack #axios
Вопрос:
Я использую axios для получения информации из базы данных. Я получаю ответ от сервера в массиве:
Мои html-теги:
Js-код выглядит следующим образом:
data() {
return {
departments: {
id: 0,
name: "name of company",
nameZod: "name of company dif"
},
};
},
created() {
axios
.get('/SomeController/Departments')
.then(response => {
this.departments = response.data;
console.log(this.departments);
})
}
Я получаю сообщение об ошибке: не удается прочитать свойство «_wrapper» неопределенного значения. Это очень странно, потому что я использую аналогичный код в другом модуле, и он работает правильно.
Комментарии:
1. Не могли бы вы опубликовать полное сообщение об ошибке, включая трассировку стека, показывающую файлы и номера строк?
Ответ №1:
Возможно, вы где-то определили вызов функции (@click =something), и вы еще не определили функцию в методах. Это случилось со мной, может быть, это может быть кому-то полезно
Комментарии:
1. Именно то, что это было. 🙂
2. Это была именно моя проблема. У меня была опечатка в имени метода внутри формы <form @submit=»methodName»></form>
3. Произошло то же самое, хотя ошибка вообще не информативна!
4. Это было причиной моей ошибки, когда отсутствующая функция вызывалась в компоненте umd
5. Спасибо, это была проблема и в моем случае
Ответ №2:
Эта ошибка возникает, когда в v-on:click OR @click
директиве в шаблоне отсутствует функция, на которую она указывает, внутри methods
вашего компонента.
Пример:
//template
@click="callAgain"
...
methods : {
//no function called callAgain
}
Ответ №3:
Вы вызываете некоторую функцию в своем компоненте, которая еще не определена в вашем компоненте, пожалуйста, проверьте, определены ли все ваши функции в вашем компоненте.
Например
Вы используете @click=»something», но something() не определен в вашем компоненте.
Комментарии:
1. Это действительно один из недостатков работы с vue. На самом деле я едва ли вижу какой-либо смысл в vue, если бы не компонентная стратегия (которая намного лучше предусмотрена в альтернативных фреймворках). Сделайте небольшую незаметную опечатку в назначении события, и вы находитесь в процессе отладки, поскольку исключение и предоставленная трассировка не дают вам много подсказок. Если бы вы использовали обычную парадигму addEventListener, вы бы нажали на исключение и обнаружили именно то место, где проблема в коде.
Ответ №4:
вам просто нужно инициировать свои отделы в виде массива, подобного этому:
data() {
return {
departments: [
{
id: 0,
name: "name of company",
nameZod: "name of company dif"
},
],
};
},
Комментарии:
1. @HormanLewis Работает это или нет, вам все равно нужно это сделать, потому что ваш шаблон ожидает, что
departments
будет массивом2. Я столкнулся с этим сегодня, потому что я написал @click=»methodname.prevent», где я должен был написать @click.prevent=»methodname».
Ответ №5:
Это случилось и со мной, но по другой причине (Vue Vuetify. К btn должна быть прикреплена функция @click, а не значок, как показано ниже.
<v-btn fab small>
<v-icon @click="sendMessage">send</v-icon>
</v-btn>