问题标签 [angular-changedetection]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
angular - 角度变化检测仅更新部分页面
我正在开发一个 Angular 5.2 应用程序。我的基本组件中有 10 个选项卡。每个选项卡都有自己的组件( 4 个组件)。所以我的每个标签都有一个非常繁重的处理。现在,我的问题是,如果我更新任何选项卡的子组件,那么在所有选项卡及其子组件上运行 changeDetection,这会使我的应用程序非常慢。
有没有办法告诉角度在页面的特定部分运行更改检测?我知道这听起来有点奇怪,但我需要提高应用程序性能和真正的问题,我看到的是,Change-Detection 正在为整个页面运行(10 个选项卡,每个选项卡有 4 个组件)。
到目前为止,我没有发布任何代码,因为这个问题是一个通用问题,但如果有人认为该代码会有所帮助,我也可以这样做。
angular - 值更改时不触发 ngIf
我有一个简单的 mat-spinner 应该在isLoading
is时触发true
。变量按预期更改,但 mat-spinner 不可见。仅当我更改isLoading
为 always时才可见true
。
我错过了什么吗?提前致谢!
app.component.ts:
app.component.html:
实用程序.service.ts:
编辑添加触发setter函数的组件:start.component.ts:
angular - Angular 6 Change detection - 如何设置子组件?
我的父 Angular 组件有一个嵌套的子组件。该子组件是一个按钮列表。单击一个按钮时,会将一个值传递给子组件。然后该子组件会相应地更新为 id。我已经对孩子实施了一些变化检测。当孩子注册来自父母的更新时,它会运行 ngOnChanges 挂钩。在这里我调用我的后端并返回数据
我的代码工作正常,但它似乎是一个 hack。正如您在以下代码中看到的,我分离了 changeDetection 对象。在 ngOnChanges - 在订阅部分,我再次重新附加 cd。我不喜欢
你们能给我一些指示吗?
更新以响应答案
它确实为我提供了我想要的 ngOnChanges(changes: SimpleChanges) 结果。但它仍然给我们一个错误。说它是未定义的。
options 数组是 Challenge 上的嵌套数组
从 db 返回的对象
javascript - Angular 6:如何检测 Angular 中的表数据变化?
我通过将表绑定到数组来生成一个非常简单的表。我使用contenteditable="true"所以我可以在客户端编辑每个单元格数据。这是我的代码:
如何检测contenteditable设置为true的单元格上的文本更改
angular - Select 不会在动态获取选项时呈现选项
在选择焦点上,我试图通过拨打服务电话来获取选项,但不知何故下拉菜单没有打开,我必须点击两次。
StackBlitz 链接: https ://stackblitz.com/edit/angular-select-example-3jvz1h?file=app%2Fapp.component.ts
angular - 我应该总是使用 ChangeDetectionStrategy.OnPush
我应该总是ChangeDetectionStrategy.OnPush
在我的组件中使用吗?
我总是听到它是多么OnPush
令人惊叹,解决了这么多问题,加速了 Angular 应用程序,甚至摆脱了NgZone
. 但如果是,为什么默认情况下不生成它ng g component
?
如果它如此神奇,那么我们应该一直使用它吗?
angular - Angular7 Reactive Forms 输入属性值在控制器/组件中没有变化,仅在 HTML 标记上
我制作了一个具有反应形式组的可重用组件。我有 2 个输入属性“名称”和“描述”,我正在使用 ngFor 设置这些输入属性来迭代组件。
不幸的是,即使我将表单控件组中的开始/默认值设置为输入属性,当我单击提交时,角度也会将这两个输入属性读取为“null”,而不是通过输入属性设置的值。
表单组 + 输入属性:
提交功能:
如果我尝试直接提交有效的输入属性的值,但是如果我对表单进行修改,我将不再提交更改后的值,这样就没有意义了。
angular - Angular Material Change Detection using ngOnChanges throwing error, "ExpressionChangedAfterItHasBeenCheckedError"
我有一个组件的 Input 属性,如果当前数据未定义,我应该只显示。
我正在使用 ngOnChanges 来检测更改,但它会引发“ ExpressionChangedAfterItHasBeenCheckedError ”错误。
这是代码,
Stackblitz 链接:https ://stackblitz.com/edit/angular-snackbar-top-bdmsmz
有什么办法可以解决这个错误。
angular - 角局部变量变化检测
我有一个父级持有一个变量“值”并将这个变量与 2-way 数据绑定传递给一个子组件。父母如何知道这个变量的任何变化?
并在父 html
子组件是一个输入,为简单起见,我只放了一个,但在真正的应用程序中,我有几个需要使用 ngSwitch 动态显示的组件。
每当用户在任何这些子组件中键入内容时,我都需要父组件调用函数。
我可以在每个孩子上使用@Output,但它看起来不是很优雅,而且除了在父母身上实时更新值之外,我只需要知道什么时候。
角度中是否有类似“观察者”的东西来检查值的变化?
angular - Angular 6 视图未更新,即使使用 ChangeDetectorRef、ngZone 和 requestAnimationFrame
在我的component.ts中,我有一个将 WAV 音频数据转换为 MP3 的循环:
在我的component.html中,我的代码显示了到目前为止已转换的音频百分比:
在进行转换时,它会将正确的转换百分比实时记录到控制台,但视图仍停留在 0% 完成状态。一旦循环结束,它会立即跳到 100%。
我努力了:
this.cd.detectChanges();
- 换行改变
convertedPercent
in的值zone.run()
- 换行改变
convertedPercent
in的值requestAnimationFrame()
接下来我应该尝试什么?