Axios загружает данные без проблем, не показывает никаких данных, Laravel Mix создает без ошибок.
У меня есть следующий код:
index.html (body)
<div id="app">
<posts></posts>
</div>
В app.js я использую это:
import Vue from 'vue';
// global declare axios
window.axios = require('axios');
import Posts from './components/Posts';
Vue.component('posts', Posts);
new Vue({
el: '#app',
props: {
posts:[{
userId: [Number],
id: [Number],
title: [String, Number]
}]
}
});
В компоненте Posts.vue я создаю шаблон и скрипт, загружающий данные при монтировании:
<template>
<ul>
<li v-for="post in posts" v-text="post.title"></li>
</ul>
</template>
<script>
export default {
data: function() {
return {
posts: null,
}
},
// when stuff is loaded (document ready)
mounted: function() {
// use placeholder data for tests, capture asynchronous data from site using this.
axios.get('https://jsonplaceholder.typicode.com/posts')
.then(response => this.posts = response.posts)
.catch(error => this.posts = [{title: 'No posts found.'}])
.finally(console.log('Posts loading complete'));
},
}
</script>
Таким образом, данные должны отображаться в виде списка ul:
<ul>
<li>
title
</li>
<li>
title
</li>
<li>
title
</li>
</ul>