845得票20回答
如何在Angular中检测@Input()值的更改?

我有一个父组件(CategoryComponent),一个子组件(videoListComponent)和一个ApiService。 大部分工作都已经完成,也就是每个组件都可以通过观察者访问json api并获取相关数据。 目前视频列表组件只获取所有视频,我想将其过滤为特定类别中的视频,我...

564得票31回答
ExpressionChangedAfterItHasBeenCheckedError解释

请解释为什么我一直收到这个错误:ExpressionChangedAfterItHasBeenCheckedError:已经检查过的表达式发生了更改。 显然,我只在开发模式下遇到这个问题,在我的生产构建中不会发生,但这非常令人恼火,我根本不理解在我的开发环境中出现一个不会在生产环境中显示的错...

492得票4回答
在Angular中手动触发变更检测

我正在编写一个Angular组件,其中包含一个属性Mode(): string。 我希望能够以编程方式设置此属性而不是响应任何事件。 问题在于,如果没有浏览器事件,模板绑定{{Mode}}就不会更新。 有没有办法手动触发此变化检测?

401得票19回答
@ViewChild在*ngIf中的使用

问题 什么是在对应的模板元素显示后获取 @ViewChild 最优雅的方法? 以下是一个示例。还有一个可用的Plunker。 Component.template.html:<div id="layout" *ngIf="display"> ...

274得票5回答
markForCheck()和detectChanges()有什么区别?

ChangeDetectorRef.markForCheck()和ChangeDetectorRef.detectChanges()有什么区别? 我在SO上只找到了关于NgZone.run()的区别,但没有关于这两个函数的区别。 对于仅提供文档引用的答案,请举例说明何时选择其中一个而不是另一个。

225得票7回答
Angular 中有没有与 AngularJS 的 $watch 相对应的功能?

在AngularJS中,您可以使用$scope的$watch函数指定监视器以观察作用域变量的更改。那么,在Angular中观察变量的变化(例如组件变量)的等效方法是什么?

225得票6回答
如何在Angular 2中强制重新渲染组件?

如何在Angular 2中强制重新渲染组件? 为了调试Redux,我想强制一个组件重新渲染其视图,这是否可能?

87得票11回答
ngIf - 表达式在被检查后发生了变化

我有一个简单的场景,但是就是无法让它工作! 我在视图中显示一些文本,内容被限制在一个固定高度的框中。 这些文本是从服务器获取的,所以当文本到来时,视图会更新。 现在我有一个“展开”按钮,它有一个ngIf指令,如果框中的文本溢出,则ngIf指令应该显示按钮。 问题在于,由于文本在获取后会...

71得票6回答
从服务中触发组件视图的更新 - 没有ChangeDetectorRef提供程序

我希望更新我的应用视图,通过来自服务的事件触发。 我的一个服务注入了ChangeDetectorRef。编译工作正常,但当应用启动时,在浏览器中出现错误:No provider for ChangeDetectorRef!。 我认为我需要将其添加到我的AppModule中,但我找不到任何文...

56得票11回答
Angular2: 当数组更新时,*ngFor不会更新

我有一个对象数组(arr)。在我的组件输入中的(change)方法中,我修改了一个对象的属性,但在视图中(*ngFor)没有任何变化。我读到Angular的变更检测不会检查数组或对象的内容,所以我尝试了以下方法: this.arr = this.arr.slice(); this.arr ...