angular组件通信方式

父传子

父组件传值

<child [content]="'123'"></ child>

子组件接收

@Input() content: string;

子传父

方式一:
子组件传值

@Output() onSend: EventEmitter<string> = new EventEmitter<string>();
ngOnInit() {
	this.onSend.emit('content');
}

父组件接收

// html文件
<child (onSend)="onsend($event)"></child>
// ts文件
onsend(val: string){
	console.log(val);  // content
}

方式二:
父组件通过@ViewChild获取子组件dom调用数据或方法

子组件

// ts文件
data: any = {id: 1, name: 'ccc'};
run(val: String){
	console.log(this.data, val);
}

父组件

// html文件
<child #childComponent (onSend)="onsend($event)"></child>
<button (click)="callRun()">调用子组件run方法</button>
// ts文件
@ViewChild('childComponent') childComponent: any;
callRun() {
	console.log(this.childComponent.data)
	this.childComponent.run('123456');
}

兄弟组件传值

  1. 可通过公共父组件
  2. 通过服务
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值