-
8 votesanswersviews
具有大量字段的类/接口对性能有何影响?
我的角度4应用程序中有一个类(界面),它有很多字段 . 请注意,此类/接口的实例是 immutable (即永远不会更改成员) . 例如 . public interface IHaveALotOfFields { field1: string; //... field500: string; } 此接口通过(单例/应用程序级别提供)服务提供,该服务将类作为成员公开 . ... -
115 votesanswersviews
ExpressionChangedAfterItHasBeenCheckedError解释
请向我解释为什么我一直收到此错误: ExpressionChangedAfterItHasBeenCheckedError: Expression has changed after it was checked. 显然,我只是在开发模式下获得它,它不会在我的 生产环境 版本中发生,但它非常烦人,而我根本不理解在我的开发环境中出现错误的好处,这些错误不会出现在prod上 - - 可能是因为我缺乏... -
0 votesanswersviews
在Angular 5中更改renderer.listen函数中的模型
我的应用程序中有自定义下拉列表 . 我需要处理组件外部的点击以隐藏下拉列表 . 我想动态地制作它 . HostListener 不是这种情况,因为它为页面上的所有下拉组件添加了事件侦听器 . 所以我决定用 renderer.listener 动态添加和删除监听器 . 所以我有用户点击输入元素时触发的函数: onClickInput() { if (this.isOpened) { retur... -
186 votesanswersviews
什么是Angular相当于AngularJS $ Watch ?
在AngularJS中,您可以使用 $scope 的 $watch 函数指定观察者观察范围变量的变化 . 在Angular中观察变量(例如,组件变量)的等价物是什么? -
0 votesanswersviews
角度加载微调器错误:ExpressionChangedAfterItHasBeenCheckedError
我在Angular应用程序中做了一个加载微调器组件 . 我把它放在路由器插座旁边的应用程序组件中,带有* ngIf = "isLoading"所以我可以从应用程序的任何地方看到它 .'isLoading'使用ngrx的商店全局更新布尔值 .现在我有一个错误说 错误:ExpressionChangedAfterItHasBeenCheckedError:表达式在检查后发生了变化... -
1 votesanswersviews
将验证消息显示为formcontrol更改
脚步: 转到Plunker 转到 Name 输入框 请留空 Name 转到 Email &输入 作为一种类型,弹出 Name 所需的字段错误 我希望在从 Name 移动到 Email 时弹出这个错误,而不是在输入 Email 之后 我怎么能这样做? -
0 votesanswersviews
根据函数角度2的输出更改视图属性
在我的nativescript-angular应用程序中,我显示了从服务器返回的数据列表 . 我在Listview中显示结果 . 当每个项目显示在列表中时,我运行一个函数checkIfAdded(item) . 此函数查看每个数据项,并为每个项计算每个项的“isAdded”布尔属性,并为每个项返回true或false . 基于此函数的结果,我想修改显示按钮的3个属性,如下所示:1 . 我想将CSS... -
1 votesanswersviews
Angular Material 2输入错误匹配器回调多次调用
我对在Angular Material 2输入上调用错误匹配器函数的次数感到惊讶 . 查看此plunker的控制台输出:http://plnkr.co/edit/Bop4v4MtX2Wj6rVwv04P?p=preview 当页面加载时,在您触摸输入之前已经调用了13次 myErrorStateMatcher . 每次单击输入时,该函数再调用12次,失去焦点时再调用6次 . 这很可能与Angul... -
2 votesanswersviews
在ChangeDetectionStrategy.OnPush组件的分支内使用ChangeDetectionStrategy.Default组件
是否可以使用具有组件的分支内部的默认更改检测策略的组件,这些组件使用OnPush更改检测策略定义? 让我们假设OnPush组件具有一些组件层次结构,它们也是OnPush . 但是我们需要添加可重用的组件,该组件显示当前时间,位于此层次结构底部的某个位置 . 为了使时间组件工作,我必须在其中使用changeDetectionRef.markForCheck,它实际上强制angular检查该组件的所有... -
0 votesanswersviews
Angular 2中onPush变化检测的自定义功能
{ id:123, version 1, ...} 我正在编写一个使用onPush变化检测策略的Angular 2组件 . 我想知道在确定对象是否已更改时是否有办法在onPush中使用自定义逻辑 . 我的理解是onPush检查对象引用,因此只在发送对象的新实例时才更新 . 我的应用程序跟踪自己的对象版本,这意味着每个对象都有一个id和版本号 . 我定期刷新服务器中的数据,这意味着即使数据实际没有... -
2 votesanswersviews
角动态组件加载器更改检测问题
我正在尝试使用angular dynamic component loader和我'm facing a change detection issue when I' m使用ChangeDetectionStrategy.OnPush . 我在this git issue中看到了它,看到了这个Plunker,据我所知,动态添加的组件与其父更改检测树分离,并且onPush将不起作用(仅默认值) . ... -
1 votesanswersviews
更改检测过程以及确切时间检查OnPush属性
在https://hackernoon.com/everything-you-need-to-know-about-change-detection-in-angular-8006c51d206f 他说angular有14个操作,但确切的时候检查组件是否为ChecksEnabled == false(OnPush),特别是如果它是OnPush,它检查某些@Input属性是否已更改为在其中运行进程?... -
1 votesanswersviews
如何使用具有动作的多维List来提高Angular 2的性能?
您好我正在使用Angular2开发一个应用程序 . 我通过一个api接收一个我必须在html表中显示的多维列表 . 这是我从api收到的json的简化版本: { "events": [ { "id": 0, "name": 0, "sub_events": [ ... -
1 votesanswersviews
Angular 2:作为@Input-Property的功能
你可以在这里看到我的Plunk . 在这个非常简单的例子中,我传递了一个函数 _ => { console.log(number); } 到具有@Input属性的子组件 . 我的父组件看起来像这样: @Component({ selector: 'my-app', template: ` <child [func]=&qu... -
6 votesanswersviews
@HostListener在我正在侦听外部点击时导致更改检测触发次数太多
我有下一个根组件模板,它绘制了9个tile: <ul> <li *ngFor="let x of [0,1,2,3,4,5,6,7,8]"> <tile></tile> </li> </ul> 和下一个tile组件,我在其中添加了HostListener以进行文档点击: import {A... -
0 votesanswersviews
对象的阵列推送时的角度2变化检测
我有一个'Schedule'打字稿类和'Schedule'类型的'selectedSchedule'变量 . 时间表: export class Schedule{ scheduleId: string; sheduleDate: Date = new Date(); scheduleName: string; jobs: Job[]; unscheduledEmpl... -
8 votesanswersviews
Angular2变化检测误解 - 用plunker
我正在尝试用Angular2 final完全理解变化检测 . 这包括: 处理变更检测策略 从组件上安装和拆卸更换检测器 . 我以为我已经对这些概念进行了非常明确的概述,但为了确保我的假设正确,我写了一个小傻瓜来测试它们 . 我对全球正确的一般理解,但在某些情况下,我有点迷失 . 这是羽毛球:Angular2 Change detection playground Quick expl... -
0 votesanswersviews
Angular2可观察变化检测模板更新
出于性能原因,我尝试在组件上设置手动更改检测 . 应用程序的结构:App - > Book(s) - > Page(s) 我在AppComponent中订阅了一个observable,然后我运行了ChangeDetectorRef的“markForCheck”方法 . 这似乎触发了BookComponent中的ngAfterContentChecked方法(我标记为更新的组件的子组件... -
16 votesanswersviews
Angular 2如何让Angular检测Angular之外的变化?
我正在尝试创建一个简单的示例项目来测试角度2更改检测机制:我在主索引页面上的脚本标记中创建一个纯javascript对象 . 它包含以下内容: var Tryout = {}; Tryout.text = "Original text here"; Tryout.printme = function(){ console.... -
4 votesanswersviews
Angular2模板表达式在更改检测时为每个组件调用两次
很标准的情况 . 有一个父组件 <item-list> . 在其模板内部 *ngFor 生成了20个子组件 <item-block> . 使用 [ngStyle] 指令设置的子组件样式和调用函数 setStyles() 的模板表达式 . 问题(或可能不是)是当在一个特定子元素上发出任何事件时,表达式 setStyles() 为每个子组件执行两次 . 因此,如果我们点击示... -
6 votesanswersviews
儿童之间的角度4分离变化检测
我不明白为什么即使我使用ChangeDetectionStrategy.OnPush和changeDetectorRef.detach()函数ngDoCheck一直被调用 . 我的应用程序中有数千个组件,如果从child2引发了一个事件(鼠标点击等),我想阻止child1的changeDetection . 这是plunker 如你所见,我有一个父组件 @Component({ selecto... -
0 votesanswersviews
了解Angular中的更改检测和异步函数
我试图了解Angular中的更改检测和模板更新 . 我其实有点困惑 . 我有一个按钮和一个简单的输入字段 . 单击按钮时,我将输入字段的值更改为“test” . 然后创建一个立即返回的异步函数 . 然后我使用for循环等待大约4秒(用于测试目的) . What I expect is: 输入字段的值立即变为"asynched",因为它是异步调用 . Reality : ... -
1 votesanswersviews
动态组件中的角度变化检测
我在Angular中动态添加的组件中遇到了更改检测问题 . 我在下面添加了一个完整的Plunker链接 . 该组件有两个属性( grid 和 message ),两个属性都有setter和getter . grid 属性基于"type"接口 IGrid , message 是 string . 当动态创建组件并将其添加到父组件时, grid 和 message 都会添加到组件... -
1 votesanswersviews
Angular OnPush Component,当触发事件在视角度力markForCheck自动?
阅读Zone.JS并更改检测过程,在源代码中,Zone.JS通过传播对所有组件的检查来通知Angular它从上到下运行第一个组件的变化,但在我的测试中,我有不同的行为 . 检查我的样本: http://plnkr.co/edit/QPHBQ7cYg9JFZr2oVnGZ?p=preview 该示例具有以下体系结构: <app-component> <child-compo... -
0 votesanswersviews
角度兄弟组件改变检测
看到这个stackblitz https://stackblitz.com/edit/angular-knjzvr 单击hello组件中的按钮会触发goodbye组件中的更新,从而导致执行getData()调用 . 两次,甚至...... 检查控制台输出 . 有人可以解释这种行为吗? 真实世界的情况是不同的(服务中的一个可观察的间隔更新,不仅触发受影响的组件被触发,而且触发整个应用程序),但这个简... -
5 votesanswersviews
如何检查是否在组件上触发了更改检测
在我的应用程序中,我想设置手动更改检测 . 为此,我将ChangeDetectionStrategry设置为OnPush,每当组件发生更改时,我使用detectChanges手动运行更改检测 . 如果我在父组件上将ChangeDetectionStrategy设置为OnPush,根据我的理解,它将仅在父组件上运行一次更改检测,在子组件上只运行一次,即使我没有在子组件上将ChangeDetectio... -
2 votesanswersviews
Angular ChangeDetection NgIf
所以我想更好地了解Angulars ChangeDetection并偶然发现一个问题:https://plnkr.co/edit/M8d6FhmDhGWIvSWNVpPm?p=preview 这个Plunkr是我的应用程序代码的简化版本,基本上有一个 parent 和一个 child 组件 . 两者都启用 ChangeDetectionStrategy.OnPush . parent.compo... -
1 votesanswersviews
使用共享服务更改angular2中的检测
我有一个父函数 ngOnInit() 从谷歌 Map 获取值如下 instance.input = document.getElementById('google_places_ac'); autocomplete = new google.maps.places.Autocomplete(instance.input, { types: ['(cities)']}); ... -
191 votesanswersviews
什么是Angular相当于AngularJS $ Watch ?
在AngularJS中,您可以使用 $scope 的 $watch 函数指定观察者观察范围变量的变化 . 在Angular中观察变量(例如,组件变量)的等价物是什么? -
0 votesanswersviews
角度2变化检测阵列
我有一个看起来有点像这样的组件层次结构: @Component({ ... }) export class A { constructor(private _serviceThatDeliversData: Service){} getData(): Array<DataItem> { return this._serviceThatDeliversData.ge...