Я использую AngularJS с ngInfiniteScroll и angular-masonry.Угловой: Бесконечный свиток не работает при использовании ngInclude в каменной кладке
В настоящее время у меня есть некоторые части моего интерфейса в PHP, но я пытаюсь перенести все на HTML + JS.
Это в настоящее время работает нормально:
<div id="flagevent-container"
infinite-scroll='getFlags()'
infinite-scroll-disabled='loadingMore'
infinite-scroll-distance='0'
masonry="{'gutter': 10}" preserve-order load-images="false"
item-selector=".flagevent">
<div masonry-brick id="flagevent{{flagevent.id}}" class="flagevent"
ng-repeat="flagevent in flagsInWall">
<?php include "flagevent.inc.html"; ?>
</div>
</div>
Теперь я хочу, чтобы перейти от РНР include
к Угловое-х ng-include
. Я вставить его на masonry-brick
уровне:
<div id="flagevent-container"
infinite-scroll='getFlags()'
infinite-scroll-disabled='loadingMore'
infinite-scroll-distance='0'
masonry="{'gutter': 10}" preserve-order load-images="false"
item-selector=".flagevent">
<div masonry-brick id="flagevent{{flagevent.id}}" class="flagevent"
ng-repeat="flagevent in flagsInWall"
ng-include="'flagevent.inc.html'">
</div>
</div>
Но бесконечная прокрутка не работает; метод getFlags()
вызывается многократно без прокрутки, таким образом извлекается все элементы, и все элементы загружаются сразу.
Что происходит?
Может быть, так как вы загружаете содержимое на стороне клиента сейчас, вместо того, чтобы отправлять его с сервера, в первый раз, когда страница загружает бесконечное содержимое прокрутки, пустая, так что она сразу достигает конца и вызывает getFlags? – toskv
Хммм звучит разумно ... – Jago
Тем не менее, если все функции getFlags - это добавить некоторые значения в переменную flagsInWall, ее следует вызывать только один раз. :/ – toskv