1

现在我有一个带有fa-pipe-from表面的滚动视图,效果很好,我尝试了几种方法来监听来自滚动视图的事件。

一种方法是将 a 添加fa-pipe-to到滚动视图

<fa-scroll-view fa-pipe-from="resultsViewHandler" fa-pipe-to="scrollViewHandler">

指向事件处理程序

$scope.scrollViewHandler = new EventHandler();

但没有事件来自这个处理程序

$scope.scrollViewHandler.on("start",function( e ){
    console.log( e ); 
}); // is never called

我在另一个 stackoverflow -链接- 问题中看到了一个不起作用的解决方案:

$famous.find('fa-scroll-view')[0].renderNode.sync.on('start', function(event) {
    console.log('start');
});

关于如何实现这一目标的任何建议?

编辑:显然fa-pipe-to按预期工作,但滚动视图没有发出所有事件。起作用的事件是:onEdge, offEdge, settle, pageChange并且您可以通过将滚动视图传递到如上所述的空事件处理程序并在其上侦听这些事件来使用它们。不起作用的事件是:start, update, end, resize不幸的是,这些事件是我最需要的。

4

1 回答 1

0

嘿,我在链接中回答了这个问题

我给了我的滚动视图一个 ID

<fa-scroll-view id="footer-scrollview" fa-pipe-from="footerScrollHandler"></fa-scroll-view>

并且能够像这样收听事件:

var scrollView = $famous.find('#footer-scrollview')[0].renderNode,
                scrollViewHandler = scrollView.sync
            ;
            scrollViewHandler.on('start', function(event) {
                console.log('start');
            });

“更新”和“结束”事件也有效。我还在应用程序的其他地方使用了第二个滚动视图(使用不同的 ID)并使用相同的策略并且效果很好

于 2014-10-10T19:55:46.900 回答