【发布时间】:2019-04-21 21:25:42
【问题描述】:
https://next.plnkr.co/edit/0LHeJ3Fyz5gdjJqQ?open=lib%2Fapp.ts&deferRun=1 这是一个笨蛋。这只是一个例子。
在实际项目中我得到了类似的东西
<input [(ngModel)]='_data.name' [name]='name' />
我使用 ngOnInit lifehook 传递一些数据以供输入
而且我不明白为什么当我在<input> 中写一些东西时我的 ngOnChanges 钩子不会触发更改
_data 通过使用服务 http 请求从 json/server 获取数据,然后我在我的 <input> 中得到 name,或者其他东西
问题是:如何在我的情况下使用 ngOnChange lifehook 检测变化
我尝试设置[name]='name',然后像这样使用@Input
@Input() name: string;
然后在 ngOnChanges 中
ngOnChanges(changes: SimpleChanges) {
console.log(changes.name.currentValue);
}
为什么我在控制台中看不到任何内容?为什么 ngOnChanges 不能以这种方式工作? 我需要从我的输入中获取价值,然后使用 ngOnChanges 检测它的变化 控制台没有错误,没有数据,什么都没有,为空
【问题讨论】:
-
你为什么要使用
ngOnChanges?,而不是在你的输入上监听onChange、input或keyup事件
标签: angular