У меня есть индекс объектов, возвращаемых из поиска. Шаблон имеет ng-repeat, где URL-адрес элемента создается из данных в модели, но в окончательной разметке тег "a" не работает. Ng-href и href верны, строка URL изменяется при нажатии ссылки, но страница не загружается. Выполнение обновления браузера после щелчка позволяет получить страницу. Итак, что-то в Angular меняет строку URL, но не вызывает загрузку.
Невозможно сделать это воспроизведением в jsfiddle, потому что проблема заключается в загрузке json в шаблон после функции $resource.query(), которую я не могу сделать из jsfiddle. С помощью моделируемого запроса, загружающего статические данные, jsfiddle работает, хотя окончательная разметка выглядит одинаково.
Шаблон AngularJS выглядит следующим образом:
<div ng-controller="VideoSearchResultsCtrl" class="row-fluid">
<div class="span12" >
<div class="video_thumb" ng-repeat="video in videos">
<p>
<a ng-href="/guides/{{video._id}}" data-method="get">
<img ng-src="{{video.poster.large_thumb.url}}">
</a>
</p>
</div>
</div>
</div>
Результаты выглядят отлично и производят следующую окончательную разметку:
<div ng-controller="VideoSearchResultsCtrl" class="row-fluid ng-scope">
<div class="span12">
<!-- ngRepeat: video in videos --><div class="video_thumb ng-scope" ng-repeat="video in videos">
<p>
<a ng-href="/guides/5226408ea0eef2d029673a80" data-method="get" href="/guides/5226408ea0eef2d029673a80">
<img ng-src="/uploads/video/poster/5226408ea0eef2d029673a80/large_thumb_2101146_det.jpg" src="/uploads/video/poster/5226408ea0eef2d029673a80/large_thumb_2101146_det.jpg">
</a>
</p>
</div><!-- end ngRepeat: video in videos -->
</div>
</div>
Код контроллера:
GuideControllers.controller('VideoSearchResultsCtrl', ['$scope', '$location', 'VideoSearch',
function($scope, $location, VideoSearch) {
$scope.videos = VideoSearch.query({ namespace: "api", resource: "videos", action: 'search', q: $location.search().q });
}
]);
Использование AngularJS 1.2-rc.3. Я также попытался использовать ng-click и обычный старый onclick, чтобы получить страницу, загруженную даже статическим URL-адресом, но клики никогда не запускают код. BTW static non angular ссылки на этой странице работают, поэтому работают меню и выходы.
Что я сделал неправильно здесь или это ошибка в AngularJS?