Я знаю, что этот вопрос уже задавался несколько раз, и ответы, которые я нашел, следовали им, но безуспешно.
Резюме: Мне нужно получить массив из classes.json
файла, а затем установить переменную classes
из data()
в этот json data
.
Это файл class.json, из которого мне нужно загрузить массив.
[{
"School1": {
"classTag": ["F1", "E2G", "E2E", "E2A"]
}
},
{
"School2": {
"classTag": ["10BFTE", "11BFTE"]
}
}
]
Вот методы, которые я пробовал:
created() {
// Load json to classes
$.getJSON('../assets/classes.json', function(json) {
for (var key in json) {
if (json.hasOwnProperty(key)) {
var item = json[key];
this.classes.push({
classTag: item.classTag
});
}
}
});
}
created() {
$.getJSON('../assets/classes.json', function(data) {
this.classes = data;
}).error(function() {
console.info('error: json not loaded');
});
}
И они, и другие дают мне эту ошибку: Сообщение об ошибке
похоже, вы пытаетесь вызвать метод jquery внутри своего vue-приложения, но jquery ($) не входит в ваш проект/область. попробуйте сделать это а) с включенным jquery (не рекомендуется, много наворотов только для одного вызова функции) или с простым js.
возможно, вы захотите изучить более легкую структуру для вызовов ajax, например аксиомы.
edit: или, как указано в комментарии, встроенный метод выборки современных браузеров.
Или встроенный fetch()
API
Вам нужно добавить jQuery.