有一个问题是将自己伪装成表演者或交易破坏者。我们已经完成了一个 web 应用程序,使用 angular 5 和模板驱动的表单,一切正常,但这个功能只是杀死了我们。这就像狙击手射击一样。
有时,在我们的笔记本电脑和台式机上,我们会遇到在应用程序输入字段的文本字段中输入缓慢的情况。这种情况全面发生(即 windows、mac、safari、chrome)。
这种情况持续了一段时间,然后就完全消失了!在发生期间,没有任何迹象表明我们可以检测到任何东西(除了症状本身)。我的意思是没有控制台日志错误,没有高 CPU 活动,什么都没有!。
问题是我们只是观察到我们输入的字母出现在文本字段和文本框框中的一些延迟(最多一秒)。
您将如何调试这种情况?
到目前为止,我已经应用了以下解决方案;spellcheck=no, autocapitalize=off autocomplete=off autocorrect=off 但这并没有结束这个传奇。
我还使用“ng build --prod”编译应用程序,因此它完全优化。
您还有其他建议吗?
以下是示例 textarea HTML 的方式:
<textarea placeholder="enter text" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" name="description" [(ngModel)]="learningPlan.description" maxlength="1500" #local_description="ngModel"></textarea>
Run Code Online (Sandbox Code Playgroud)
是否可以告诉 angular 在打字时不要对这些输入框进行更改检测?我的选择不多了。
在这个链接中有一个可能的建议,有人建议这样做:@Output() event : EventEmitter<any> = new EventEmitter(false);但它没有说明这行代码应该在哪里。
小智 5
我发现这个讨论离子问题 10837并且我已经解决了这个链接上的内容。
就我而言,当我在模态中输入时,这个问题就很明显。所以,我的代码变成了这样:
constructor(public changeDetection: ChangeDetectorRef) {}
openModal() {
this.changeDetection.detach();
//open modal
modal.callback ( r => {
this.changeDetection.reattach();
});
}
Run Code Online (Sandbox Code Playgroud)
尝试使用enableProdMode。通过以下方式启用它:
import {enableProdMode} from '@angular/core';
:
enableProdMode();
platformBrowserDynamic().bootstrapModule(AppModule);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6778 次 |
| 最近记录: |