Я новичок в VueJS2 и Axios и не совсем понимаю, как заставить данные работать, когда они используются в компоненте.Как получить данные для работы в компонентах и Axios?
Почему «моя тестовая работа?
Я получаю следующее сообщение об ошибке в консоли:
[Вьет предупредит]: Опция «данные» должна быть функцией, которая возвращает значение в-например в определениях компонентов.
[Vue warn]: Символы свойств или методов не определены в экземпляре, но указаны во время рендеринга. Обязательно объявляйте свойства реактивных данных в опции данных. (Находится в корневой инстанции)
Мой простой тест:
Мои данные (пропущено для краткости):
[{"id":1, "name": "Airfield"}, {"id":2, "name": "Ship Yard"}]
Мой компонент:
Vue.component('symbols-table', {
template: '<h1>Hello World</h1>',
data: {
symbols: []
},
created: function(){
axios.get('symbols.json').then(response => this.symbols = response.data);
}
});
Экземпляр Vue:
var app = new Vue({ el: '#app' });
Мой HTML:
<symbols-table>
<ul><li v-for="symbol in symbols">{{symbol.name}}</li></ul>
</symbols-table>
Спасибо! Действительно, это был один из вопросов ... и я должен был это знать. Тем не менее, я все еще получаю следующую ошибку в консоли: «Символы свойств или методов» не определены в экземпляре, но указаны во время рендеринга .... snip .. ». Мой код выглядит так же, но с упомянутой дополнительной функцией данных. Есть идеи? – redshift
@redshift the problome: у вас есть символы на уровне ребенка, однако вы используете его в DOM на родительском уровне. – Saurabh
Спасибо, это была проблема. – redshift