我使用angular-masonry指令让Masonry在AngularJS应用程序中工作,但我希望能够在 Controller 中调用一个函数或方法来触发容器中项目的重新加载。我在源代码(第101-104行)中看到了一个重载方法,但是我不确定如何调用该方法。有任何想法吗?

谢谢!

最佳答案

万一将来有用,Passy会监视一个名为masonry.reload的事件。

因此,您可以发出此事件,Passy应该在砌体元素上调用“布局”,例如称呼

$rootScope.$broadcast('masonry.reload');

就我而言,我有一些第三方javascript装饰我的积木,因此完成后我需要重新粉刷。由于某种原因(我无法弄清原因),我需要将事件广播包装成一个超时,我认为Passy调度程序正在消耗事件而不是重新绘制。例如。我做了:
$timeout(function () {
   $rootScope.$broadcast('masonry.reload');
   }, 5000);

这样,您不必直接修改Passy。

关于javascript - 如何触发 Angular 砌筑中的重新加载?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23710217/

10-13 01:10