В Vue или других средах SPA вам не нужно (и не следует пытаться) вручную добавлять любую информацию в DOM;все это делается путем манипулирования данными компонента и предоставления возможности платформе обновлять страницу.
Вы не показали полный компонент с его начальными данными, поэтому я могу быть здесь, но похоже,в loadMoreTimeline()
вы обрабатываете блок данных компонента как отдельный массив, нажимая непосредственно на него:
this.data.push(this.resp);
Но вместо этого v-for
в шаблоне выполняет итерацию по массиву с именем data внутри блока данных компонента:
v-for="item in data"
... что означает, что строка в loadMoreTimeline()
должна быть на самом деле this.data.data.push(this.resp)
.(Что бы сработало, но вам, вероятно, следует выбрать менее запутанное имя для этого массива; возможно, this.data.items
и v-for="item in items"
.)
Как только вы отправите новую информацию в правильный массив, онаjust Just - push()
- это один из методов мутации, который Vue включает в наблюдатели , поэтому не нужно использовать Vue.set
или vm.$set
, чтобы новые данные реагировали.