Jua*_*uan 1 twitter-bootstrap-4 ng-bootstrap angular
我正在使用ng-bootstrap用Bootstrap编写Angular应用程序。我在这样的组件中封装了一个弹出窗口:
HTML(弹出框组件)
<div>
<div>Data 1: <i>{{ v.data1 }}</i></div>
<div>Data 2: <i>{{ v.data2 }}</i></div>
</div>
Run Code Online (Sandbox Code Playgroud)
此弹出窗口在另一个组件中打开:
的HTML
<div *ngFor="let v of vector">
<span [ngbPopover]="popOver" popoverTitle="Pop title">Open</span>
</div>
<ng-template #popOver>
<popover></popover>
</ng-template>
Run Code Online (Sandbox Code Playgroud)
我需要将ngFor的v参数传递给弹出框。我该如何实现?
如何将数据传递给component是有角度的一项基本技术。
因此,您需要更新您的popover组件:
popover.component.html
<div>
<div>Data 1: <i>{{ data.data1 }}</i></div>
<div>Data 2: <i>{{ data.data2 }}</i></div>
</div>
Run Code Online (Sandbox Code Playgroud)
popover.component.ts
@Component({
selector: 'popover',
templateUrl: './popover.component.html'
})
export class PopoverComponent {
@Input() data: any;
}
Run Code Online (Sandbox Code Playgroud)
然后更新您的ngFor:
<div *ngFor="let v of vector">
<span [ngbPopover]="popOver" popoverTitle="Pop title">Open</span>
<ng-template #popOver>
<popover [data]="v"></popover>
</ng-template>
</div>
Run Code Online (Sandbox Code Playgroud)
这是一个例子https://stackblitz.com/edit/angular-laqjog
| 归档时间: |
|
| 查看次数: |
2115 次 |
| 最近记录: |