angular监听@Input修改
时间: 2023-09-30 10:01:55 浏览: 179
在Angular中,你可以使用`@Input`装饰器来监听输入属性的修改。`@Input`装饰器允许你将一个属性声明为父组件传递给子组件的输入属性。
要监听`@Input`属性的修改,你可以使用`ngOnChanges`生命周期钩子。当输入属性发生变化时,Angular会调用`ngOnChanges`方法,并传入一个`SimpleChanges`对象,该对象包含了所有已变化的输入属性。
下面是一个示例,展示了如何使用`@Input`和`ngOnChanges`来监听属性的修改:
```typescript
import { Component, Input, OnChanges, SimpleChanges } from '@angular/core';
@Component({
selector: 'app-child',
template: `
<p>Input value: {{ inputValue }}</p>
`
})
export class ChildComponent implements OnChanges {
@Input() inputValue: string;
ngOnChanges(changes: SimpleChanges) {
if (changes.inputValue) {
console.log('Input value changed:', changes.inputValue.currentValue);
// 在这里可以执行你想要的操作
}
}
}
```
在父组件中,你可以将属性绑定到子组件的`@Input`属性上,并在属性值发生变化时触发`ngOnChanges`方法:
```html
<app-child [inputValue]="myValue"></app-child>
```
这样,当`myValue`属性的值发生变化时,子组件的`ngOnChanges`方法会被调用,并执行相应的操作。
希望这能帮助到你!如有任何疑问,请随时提问。
阅读全文