请在此处查看示例 https://stackblitz.com/edit/angular-dybb4v
<progress></progress>
}
基本上,我希望将一个值发送到父组件,让父母根据需要修改它,然后在子组件中 - 我想使用修改后的值。
我不想添加另一个&#34; emit&#34;在父组件中..有什么方法可以链接值的流量?
感谢您的帮助。
答案 0 :(得分:0)
你可以实施一项服务,作为一个中间人&#34;两者之间。在两个组件中导入服务,当更改服务中的变量时,它将反映在另一个组件中。除了一次之外,无需发出任何内容,并使用OnInit()在父级和子级中进行订阅。
答案 1 :(得分:0)
尝试以下方法:
// Parent component
@Component({
selector: 'parent-component',
template: '<child-component (valueChanged)="changeValue($event)" [childValue]="childValue"></childComponent>'
})
export class ParentComponent {
childValue: 'hello world';
changeChildValue(newValue){
this.childValue = newValue;
};
}
// Child component
@Component({
selector: 'child-component',
template: '<div>{{childValue}}</div>'
})
export class ChildComponent {
@Input() childValue;
@Output() valueChanged = new EventEmmiter<any>();
changeValue(newValue) {
valueChanged.emit(newValue);
}
}
将父组件中的childValue作为输入传递。
根据您的逻辑,更改子级内的childValue,然后使用新值调用changeValue方法。父组件将接收该事件并更新在子项上自动更新的值