У меня есть html, в котором я должен показывать шаблон AngularJS
только тогда, когда дохожу до конца страницы (я реализовал бесконечную прокрутку).
Первая страница приходит с сервера. Поэтому я должен поставить ng-if
для этой первой страницы, потому что у пользователя может быть закладка с адресом/страницей = 5, а html-шаблон для первой страницы с сервера не обязательно должен быть на странице.
Теперь у меня есть URL-адрес, специфичный для страницы с сервера.
ng-if
не работает, страница пустая, но если использовать ng-show
то все работает нормально.
HTML
<div ng-app="MyApp" ng-controller="MyCtrl">
<div id="itemsGrid" ng-controller="aCtrl" infinite-scroll='item_gallery.nextPage()' infinite-scroll-distance='1' infinite-scroll-disabled=''>
<div ng-show="server_page()">
//here the first page template
JS
myApp.controller('MyCtrl', function($scope, ItemGallery) {
$scope.item_gallery = new ItemGallery();
...
}
myApp.factory('ItemGallery', function($http) {
var ItemGallery = function() {
...
ItemGallery.prototype.nextPage = function() {
...
}
return ItemGallery;
}
Если я прокомментирую
//$scope.item_gallery = new ItemGallery();
ng-if работает нормально, страница отображается корректно.
Страница отображается, когда я использую: ng-if + строка с комментариями, ng-show.
ПРИМЕЧАНИЕ:
ng-if="true"
не работает, проблема не в используемой функции, ng-if="server_page()"
не хочу использовать ng-show.
Почему ng-if
не работает? В чем проблема с этой линией? Как я могу заставить его работать?