在Angular 6中,可以通过使用@Input装饰器将数据从父组件传递给子组件。以下是一个示例代码:
父组件(parent.component.ts):
import { Component } from '@angular/core';
@Component({
selector: 'app-parent',
templateUrl: './parent.component.html',
styleUrls: ['./parent.component.css']
})
export class ParentComponent {
showModal = false;
dataToPass = 'Hello from parent component';
openModal() {
this.showModal = true;
}
closeModal() {
this.showModal = false;
}
}
子组件(child.component.ts):
import { Component, Input, Output, EventEmitter } from '@angular/core';
@Component({
selector: 'app-child',
templateUrl: './child.component.html',
styleUrls: ['./child.component.css']
})
export class ChildComponent {
@Input() showModal: boolean;
@Input() data: string;
@Output() closeModal = new EventEmitter();
onCloseModal() {
this.closeModal.emit();
}
}
在这个示例中,父组件有一个按钮,当点击按钮时,打开子组件中的Bootstrap modal。父组件通过@Input装饰器将showModal和data属性传递给子组件。子组件中,使用@Input装饰器接收这些属性并在模板中使用。子组件中还有一个@Output装饰器,用于在关闭modal时向父组件发送事件。父组件通过监听这个事件来关闭modal。
希望这个例子可以帮助你解决问题。