Dart Cordova+Polymer+Angular2+FastClick
Dart Cordova+Polymer+Angular2+FastClick
当 Dart Polymer 的纸元素与 Angular 2 一起使用时,如何消除 iOS 设备上约 300 毫秒的点击延迟?
例如在 Angular 2 组件中,如果我有一个 HTML 模板,其中包含 paper-button
和 (click)="myFunc()"
,在 iOS 设备中,myFunc 在这个可怕的臭名昭着的延迟之后被调用.
我试过使用 FastClick.js,但在我附加它(到正文或特定的纸按钮)之后,该元素不再可点击,我仍然可以看到涟漪效果,当我点击它,但该方法没有被调用(在移动设备上,但在桌面浏览器中它照常工作),它对 paper-input
(s) 也有相同的效果,它没有获得焦点。
可以做些什么吗?
也许 Dart/Angular2 相当于 FastClick.js?
更新 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>
当 Dart Polymer 的纸元素与 Angular 2 一起使用时,如何消除 iOS 设备上约 300 毫秒的点击延迟?
例如在 Angular 2 组件中,如果我有一个 HTML 模板,其中包含 paper-button
和 (click)="myFunc()"
,在 iOS 设备中,myFunc 在这个可怕的臭名昭着的延迟之后被调用.
我试过使用 FastClick.js,但在我附加它(到正文或特定的纸按钮)之后,该元素不再可点击,我仍然可以看到涟漪效果,当我点击它,但该方法没有被调用(在移动设备上,但在桌面浏览器中它照常工作),它对 paper-input
(s) 也有相同的效果,它没有获得焦点。
可以做些什么吗? 也许 Dart/Angular2 相当于 FastClick.js?
更新 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>