Поскольку у вас нет всех данных, которые вам необходимо визуализировать, вам придется изменить атрибуты впоследствии. Во-первых, вам нужно использовать компоненты Vue для ваших предметов, чтобы ваш атрибут "src" был реактивным; во-вторых, вы запускаете запросы на ваши элементы после того, как вы представили свое приложение. Пожалуйста, посмотрите этот макет.
Vue.component('todo-item', {
template: `
<li>
<label>
<input type="checkbox"
v-on:change="toggle()"
v-bind:checked="done">
<del v-if="done">
{{ text }}
</del>
<span v-else>
{{ text }}
</span>
<span v-if="like">
♥ {{like}}
</span>
</label>
</li>
`,
props: ['id', 'text', 'done', 'like'],
methods: {
toggle: function(){
this.done = !this.done
}
}
})
let todos = [
{id: 0, text: "Learn JavaScript", done: false, like: null },
{id: 1, text: "Learn Vue", done: false, like: null },
{id: 2, text: "Play around in JSFiddle", done: true, like: null },
{id: 3, text: "Build something awesome", done: true, like: null }
]
const v = new Vue({
el: "#app",
data: {
todos: todos
}
})
todos.forEach((item) => {
// This is just a mock for an actual network request
window.setTimeout(() => {
item.like = Math.ceil(Math.random() * 100)
}, Math.random() * 2000)
})
https://jsfiddle.net/willywongi/gsLqda2y/20/
В этом примере у меня есть базовое приложение со списком задач с фальшивым подсчетом «как» для каждого элемента, который вычисляется асинхронно. После настройки моего приложения я жду значения атрибута like (в моем примере я просто жду случайного значения в миллисекундах).