我想在過濾ngRepeat時,在我的指令中查看過濾事件。發生過濾時是否發生了事件?觀察AngularJS中的過濾事件 - 延遲加載圖像
我正在做的是爲縮略圖列表實現延遲加載圖像。它可以工作,但是當我開始過濾時,過濾後出現在視口外並進入視圖的圖像需要替換它們的ng-src屬性。
這裏的指令:
TemplateBrowser.directive('lazySrc', function() {
return function(scope, element, attrs) {
function replaceSrc() {
if (element.is(":in-viewport")) {
attrs.$set('ngSrc', attrs.lazySrc);
}
}
$(window).scroll(function() {
replaceSrc();
});
scope.$watch('filteredTemplates', function() {
replaceSrc();
});
};
});
HTML
<li ng-repeat="template in filteredTemplates = (templates | filterByCategory: selectedCategories | filter: searchFilter)">
<img ng-src="" lazy-src="{{template.cover.thumb.url}}" alt="">
</li>
目前我得到這個錯誤:
Error: 10 $digest() iterations reached. Aborting!
TLDR: 而不是看一個過濾收集的變化,有沒有辦法發出某種過濾事件,該指令將監聽? (通過搜索字段和類別選擇菜單進行篩選)
抱歉耽擱carousel解決方案,該項目被擱置了一段時間。這似乎工作,如果你有數據馬上。一旦數據是承諾,我就會遇到問題。感謝您的推動,但! – 2013-05-18 19:46:43
嗨,我有同樣的問題,但我需要它這樣工作。 http://jsfiddle.net/f757U/ – egermano 2013-08-16 20:55:43