gpt4 book ai didi

cordova - Dart Cordova+Polymer+Angular2+FastClick

转载 作者:太空狗 更新时间:2023-10-29 18:00:08 25 4
gpt4 key购买 nike

将 Dart Polymer 的纸元素与 Angular 2 一起使用时,如何消除 iOS 设备上约 300 毫秒的点击延迟?

例如在 Angular 2 组件中,如果我有一个包含 paper-button(click)="myFunc()" 的 HTML 模板,在 iOS 设备中,myFunc 在之后被调用这个可怕的臭名昭著的延迟。

我试过使用 FastClick.js,但在我附加它(到正文或特定的纸质按钮)之后,该元素不再可点击,当我点击它时我仍然可以看到涟漪效果,但是该方法未被调用(在移动设备上,但在桌面浏览器中它照常工作),它对 paper-input(s) 也有相同的效果,它没有获得焦点。

可以做些什么吗?也许可以制作与 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 的 on-tap 事件可以防止点击延迟,但是,这意味着您不能使用不处理点击的 Angular2 的(点击)事件和 Polymer 一样好。

最佳答案

我无法让 FastClick 与 Angular 2+(在我的例子中是 Angular 4)一起工作,但我找到了一个名为 ng2-events 的不同解决方案。它具有多项功能,其中之一是支持 Angular 为 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>

关于cordova - Dart Cordova+Polymer+Angular2+FastClick,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31839256/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com