Fastclick.js与AngularJS的集成

Fastclick.js integration with AngularJS

本文关键字:集成 AngularJS js Fastclick      更新时间:2024-04-17

我正在构建一个Cordova应用程序,点击响应时间很慢。

我找到了angular的angular touch插件(虽然它是为angular 1.2.0设计的,但看起来很可能与angular的旧版本一起使用,因为它实际上只是一组指令),但在尝试时,我没有得到我想要的结果。点击仍然没有在水龙头上响起。

据我所知,fastclick.js目前是角触摸的一个更稳定的替代方案(因为角触摸仍在开发中)。I、 但是,希望我的ng-click指令能够利用fastclick。

我如何将fastclick.js与angular集成?我可以只包含文件并初始化脚本吗?还是必须将fastclick行为封装在ng-click中(本质上是angular touch对其第一方代码的作用)?

注意:我的应用程序使用的是Angular 1.0,因为它是在稳定版本之前构建的。

从这个页面:"Angular方式"是在Angular JS文件中.run FastClick初始值设定项。确保在您的Angular代码之前加载fastclick.js模块。

HTML:

<script src="js/fastclick.js"></script>
<script src="js/app.js"></script>
<script src="js/filters.js"></script>
<script src="js/controller.js"></script>

在app.js:中

app.run(function() {
    FastClick.attach(document.body);
});

这比我想象的要简单;我预计必须修改一些角度指令,但事实证明这只是库中的一个小部分。我把它放在我的angular库之前,并在我的phonegap应用程序中看到了即时结果(根据fastclick文档调用new FastClick之后)。

到目前为止,我找不到这种方法的任何缺点。我认为document.ready类型的设置调用可能有一些问题(而不是更集成到Angular中的东西),但似乎没有任何时间问题或其他问题。

对于任何偶然发现这个问题的人来说,值得注意的是——我只是在使用tap功能;我相信fastclick暴露了一些我没有在这个项目中使用的额外功能。