Angular4/5传值问题

发布于 2022-09-06 20:41:59 字数 342 浏览 12 评论 0

图片描述
这个option是传进来的没问题,我想把searchTags传出去, 不用事件发射,不用相同的service怎么才能将searchTags属性绑定到父组件的属性当中?

图片描述

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

久而酒知 2022-09-13 20:41:59

你不用事件,如何通知父组件呢,还是用事件输出吧 @Output optionsChange = new EventEmitter<number>();

£冰雨忧蓝° 2022-09-13 20:41:59

组件间相互通信的方式:

父组件向子组件中传递数据,通过子组件中定义的@input property, 输入参数:

子组件中:
@Input() options: any;

父组件中:
<father>
    <son [options]="opt"></son>
</father>

子组件向父组件中传递数据, 通过子组件中定义的@Output EventEmitter, 输出事件

子组件中:
<button (click)="onClick($event)">Click</button>
@Input() options: any;
@Output() changed: EventEmitter<any> = new EventEmitter<any>();

onClick(value) {
   this.changed.next(value);
}

父组件中:
<father>
    <son [options]="opt" (changed)="handleChanged($event)"></son>
</father>

handleChanged(value) {
    console.info(value);////
}
半世蒼涼 2022-09-13 20:41:59

你又不用父子组件的传递,又不用同一个服务,不是自己把路堵死了么...
那就定义A服务存储数据,定义B服务从A服务获取数据

不奢求什么 2022-09-13 20:41:59

export class ChildComponent{
    constructor(@Inject(ParentComponent) private parent: ParentComponent){

    }
    
    searchTags:any

    someMethod(){
        this.parent.aPublicProperty = searchTags;
    }
}

ng5后支持注入父组件

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文