当前位置 : 主页 > 手机开发 > cordova >

Dart Cordova Polymer Angular2 FastClick

来源:互联网 收集:自由互联 发布时间:2021-06-10
当将Dart Polymer的纸张元素与Angular 2一起使用时,如何消除iOS设备上〜300ms的点击延迟? 例如在Angular 2组件中,如果我有一个包含带有(click)=“myFunc()”的纸质按钮的HTML模板,在iOS设备中,在这
当将Dart Polymer的纸张元素与Angular 2一起使用时,如何消除iOS设备上〜300ms的点击延迟?

例如在Angular 2组件中,如果我有一个包含带有(click)=“myFunc()”的纸质按钮的HTML模板,在iOS设备中,在这个可怕的臭名昭着的延迟之后调用myFunc.

我尝试过使用FastClick.js,但是在我将它(连接到正文或特定的纸张按钮)后,该元素不再可点击,当我点击它时我仍然可以看到涟漪效果,但方法是没有被调用(在移动设备上,但是在桌面浏览器中它像往常一样工作),它对纸张输入也有相同的效果,它没有得到集中.

可以做点什么吗?
也许可以制作相当于FastClick.js的Dart / Angular2?

更新1

值得一提的是,在UIWebView(cordova)下,我无法让Angular2.dart和Polymer.dart同时工作,看起来它们不能很好地协同工作,这也是一个拦截器,可以使用一些帮助在那上面.

更新2

资料来源:
https://github.com/aabluedragon/dart_issue_polymer_angular2_cordova

更新3

>白屏问题:Cordova首次出现的白屏问题似乎与Polymer有关;它与Angular2无关.
>点击延迟:使用Polymer的点击事件可以防止点击延迟,这意味着您无法使用Angular2的(点击)事件,这些事件不能很好地处理Tap作为Polymer.

我无法使用FastClick来处理Angular 2(在我的情况下是Angular 4),但我找到了一个名为 ng2-events的不同解决方案,它有多个功能,其中一个支持角4中的触摸事件.

# for angular 5
npm install --save ng2-events
# for angular 4
npm install --save ng2-events@3.1.0

然后在app.module.ts中

import {NgModule} from "@angular/core";
import {TouchEventModule} from "ng2-events/lib/touch";

@NgModule({
    imports: [TouchEventModule],
    exports: [TouchEventModule]
})
export class AppModule {}

然后在你的模板中:

<button (down)="touchAction()">Try this on mobile device</button>
网友评论