问题标签 [ngonchanges]

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.

0 投票
2 回答
2202 浏览

angular - 当另一个变量发生变化时更新 Angular 组件中的变量

我尝试这样的事情:

组件.ts

组件.html

email在应用程序加载时更新一次,但在displayName更改时不更新。

我需要使用EventEmitterngOnChanges其他什么吗?

0 投票
2 回答
6060 浏览

angular - Angular - FormGroup 上的 ngOnChange

我需要检测对 a 字段的实时更改FormGroup。我有一个简单的父子组件结构如下:

父组件视图

子组件控制器

问题是当表单域发生变化时没有检测到变化。有没有办法触发ngOnChanges任何形式的变化?谢谢。

0 投票
0 回答
840 浏览

angular - Angular 2根据onChange值更改URL和内容

所以,我有一个组件可以实现OnInit基于 API 调用刷新数据。组件是RoomComponent。在那个组件中,我传递events的是一个对象数组。然后在room.component.html我渲染下拉列表中包含event.url. 我想在下拉值更改时更改 URL 和内容。

但是这个时候,我只能更改URL,不能更改内容(我仍然不知道如何实现OnInitOnChange一起)。这是一些代码,如果room.component.ts

这是一些room.component.html显示下拉值的代码:

0 投票
2 回答
14619 浏览

javascript - 函数 ngOnChanges() 在 Angular 5 中不起作用

每当组件生命周期或模板中的变量发生更改但它不起作用时,我都会尝试ngOnChanges()在我的 Angular 5.x 组件中调用函数,但它不工作,函数不会随时被调用。请问有人可以帮我吗?this.testngOnChanges()

src/app.ts:

实时预览:https ://plnkr.co/edit/ZHFOXFhEkSv2f1U3lehv

非常感谢!

0 投票
0 回答
65 浏览

angular - Angular 2输入类型文件,未执行ngOnChanges

我创建了一个自定义组件并将其应用到

创建 [ERR] 以显示错误,但该组件 ngOnChanges 的挂钩事件未在选择文件时执行。如果有什么方法触发它,请分享。

0 投票
0 回答
4324 浏览

input - 使用垫表数据源的角度输入变化检测性能

有谁知道在 ngOnChanges 生命周期挂钩中更新 mat 表数据源是否可以?或者是否存在大规模的潜在数据泄漏或性能问题?

这是我的意思的一个简单示例。

子组件有一个输入数据的父组件,如下所示:

和子组件:

现在父组件订阅了不同的可观察对象,这些可观察对象对数据的不同更改做出反应。也就是说,如果添加或删除数据,则相应地更新父组件,并将其作为输入传递给子组件。

由于子组件使用 ngOnChanges 生命周期钩子来监视输入数据的变化,因此子组件通过实例化一个新的 MatTableDataSource 来更新表数据。

一切正常。除了 ngOnChanges 经常触发而且我每次都实例化一个新的表源时我很谨慎——就像这样,这让我很紧张。

我知道这个子组件可以只订阅更改并负责数据而不是从父组件接收数据,但如果可以的话,我宁愿保持“智能”和“哑”组件的关系。

有人在大规模或生产中以这种方式做事吗?这个可以吗?我只是因为在过去 24 小时的大部分时间里一直盯着我的电脑屏幕而变得神经质吗?

0 投票
2 回答
2183 浏览

angular - URL 更改未在 Angular 中触发

所以我的 Angular 应用程序有一个搜索栏,如果你在这个搜索栏中输入一些内容,它会进行搜索并进入结果页面。那里一切都好。

现在,如果您的搜索没有返回任何结果,结果页面会加载并告诉您“searchterm”没有返回任何结果。此时,URL 为localhost:4200/searchResults;query=searchterm. 再次 - 一切都如预期的那样。

现在,如果你去搜索栏,输入一个不同的搜索词,什么都不会发生......

好吧,那是不正确的... URL 现在说localhost:4200/searchResults;query=NEWsearchterm,但是因为我们在“相同”应用程序页面上,所以 ngOnInit 不会重新触发(因此实际上是在搜索该术语),也不会 ngOnChanges 触发(因此实际上是在搜索该术语) ...

路由模块似乎做了它应该做的事情,因为我们的 URL 确实更改为引用新的搜索词,但是没有发生应该发生的事情,我不知道是什么?

这是我在路由模块中遗漏的问题(尽管我不这么认为,因为 URL 确实发生了变化),还是我在应用页面的 Component 类中遗漏了什么???

0 投票
2 回答
1033 浏览

angular - 如何在Angular 4中检测@Input()绑定与用户定义类型的变化

以下是我正在做的示例代码。

模型组件

根组件

子组件

子组件中未检测到文本框文本更改。

现场演示

0 投票
1 回答
1198 浏览

angular - ngOnChanges 在 Angular4 中不起作用

我知道我不是第一个提出这个问题的人,而且我已经尝试过 Stackoverflow 中关于此问题的许多帖子的解决方案,但对我没有任何帮助。

当用户单击这些菜单时,我的父组件中有一个手风琴菜单,单击菜单的隐藏 id 将传递给子组件,在子组件中,我需要根据父组件的值调用 API。

在这里,我在 Stackblitz 中复制了我的问题,请看一下并给我解决此问题的解决方案。

https://stackblitz.com/edit/angular-bootstrap-carousel-dynamic2-dssqrc?file=app/child/child.component.ts

0 投票
1 回答
697 浏览

angular - 如何根据Angular4中的选择从ngOnchanges中清除以前的值

在我的应用程序组件中,我有一个手风琴,用户选择的菜单的 ID 将通过使用 ngOnChanges 传递给子组件,从子组件调用基于应用程序组件选择的菜单 ID 的 API。

手风琴结构类别、组、子组

在这里我要做的是,当用户选择一个类别、组和子组时,该 ID 被传递给子组件并且 API 也被调用。

让我们分别假设第一个选择的 ID (100,101,102)

现在用户选择同一类别下的另一个组,现在通过传递错误的 ID (100,200,102) 调用 API,这里用户没有选择任何子组,但该值取自先前的值。

那么我该怎么做以下

  • 1、用户选择新组时清除子组值。
  • 2,当用户选择新的类别时清除组值。

堆栈闪电战文件:

https://stackblitz.com/edit/angular-bootstrap-carousel-dynamic2-exbr5f?file=app%2Fchild%2Fchild.component.ts

编辑 :

堆栈闪电战文件:

https://stackblitz.com/edit/angular-bootstrap-carousel-dynamic2-9i1xzr?file=app/child/child.component.ts