Angularjs Flickity旋转木马:使用ng repeat将项目推出视口?
我试图使用metafizzy的flickity框架,使用angulars ng repeat动态显示内容 但由于某些原因,当加载到DOM时,这些项似乎会从flickity视口中推出。有人知道为什么会发生这种情况以及如何避免吗 当画廊内显示静态内容时,效果良好,如下所示 HTML:静态标记示例Angularjs Flickity旋转木马:使用ng repeat将项目推出视口?,angularjs,mediawiki,ng-repeat,flickity,Angularjs,Mediawiki,Ng Repeat,Flickity,我试图使用metafizzy的flickity框架,使用angulars ng repeat动态显示内容 但由于某些原因,当加载到DOM时,这些项似乎会从flickity视口中推出。有人知道为什么会发生这种情况以及如何避免吗 当画廊内显示静态内容时,效果良好,如下所示 HTML:静态标记示例 <div ng-controller="FlickityCtrl"> <div id="main-content" class="gallery js-gallery">
<div ng-controller="FlickityCtrl">
<div id="main-content" class="gallery js-gallery">
<div class="gallery-cell"> Static Title </div>
<div class="gallery-cell"> Static Title </div>
<div class="gallery-cell"> Static Title </div>
</div>
链接到flickity api:有解决方案吗?这里也有同样的问题。
<div ng-controller="FlickityCtrl" >
<div id="main-content" class="gallery js-gallery">
<div ng-repeat="chapter in chapters" ng-click="loadSubchapters(chapter.title)">
<h1 class="gallery-cell cell-card-bg">
{{ chapter.title | strip_namespace }}
</h1>
</div>
</div>
<hr>
<button ng-click="loadChapters()" >Load chapters</button>
<hr>
<ul>
<li ng-repeat="chapter in subchapters">
{{ chapter.title | strip_namespace }}
</li>
</ul><br />
<hr >
</div>
angular.module('FlickityApp', [])
.controller('flickityCtrl', ['$scope', '$timeout', function ($scope, $timeout) {
var updateUI = function(data) {
if (!data || !data.query) { return; }
$timeout(function() {
$scope.chapters = data.query.pages;
console.log(data);
});
};
$scope.loadChapters = function() {
mw.loader.using('mediawiki.api', function() {
(new mw.Api()).get({
action: 'query',
generator: 'categorymembers',
gcmtitle: 'Category:examplepage'
}).done(function(data) {
$timeout(function() {
$scope.chapters = data && data.query ? data.query.pages : {};
});
});
});
};
$scope.loadSubchapters = function(chapterTitle) {
mw.loader.using('mediawiki.api', function() {
(new mw.Api()).get({
action: 'query',
generator: 'categorymembers',
gcmtitle: chapterTitle
}).done(function(data) {
$timeout(function() {
$scope.subchapters = data && data.query ? data.query.pages : {};
});
});
});
};
}])
.filter('strip_namespace', ['$sce', function($sce){
return function(text) {
text = text.split(":");
return text.length > 1 ? text[1] : text[0];
};
}]);
.directive('flickity', [function() {
return {
restrict: 'E',
templateUrl: 'templates/view.html',
replace: true,
scope: { chapters: '=' },
link: function(scope, elem, attrs, ctrl) {
scope.$watch('chapters', function() {
elem.flickity({
// settings
});
});
}
};
}]);
angular.element(document).ready(function() {
angular.bootstrap(document, ['FlickityApp']);
var flkty = new Flickity('.gallery');
});