将html变量传递给Javascript
我在我的web应用程序上为我的tabsystem使用Angular with Prime。 我有以下问题:将html变量传递给Javascript,javascript,html,angular,primeng,Javascript,Html,Angular,Primeng,我在我的web应用程序上为我的tabsystem使用Angular with Prime。 我有以下问题: <div *ngFor="let project of projects"> <div *ngIf="project.id === triggerProjectIdRefresh()"> <div *ngFor="let dashboard of project.dashboards; trackBy: dashboardTrack()">
<div *ngFor="let project of projects">
<div *ngIf="project.id === triggerProjectIdRefresh()">
<div *ngFor="let dashboard of project.dashboards; trackBy: dashboardTrack()">
<div *ngIf="dashboard.id === triggerDashboardIdRefresh()" >
<!--bottom toolbar-->
<!-- Tab system -->
<p-tabView id="tabView" [controlClose]="true" (onChange)="setActiveTabDeleteable()" (onClose)="deleteConfirmation(sheet.id)" class="tabGroup" orientation="bottom">
<div *ngFor="let sheet of dashboard.sheets; trackBy: trackSheet()" > <!-- alluser sheets -->
<p-tabPanel (mousedown)="tabId(sheet.id)" [header]="sheet.name" *ngIf="sheet.type === 'enduser'" >
<!--tabbody-->
<p-card class="middlecardSheet"> <!-- widget field is child of tab-->
<app-display-widgets style="{border: #7A7A7A 2em solid;}" *ngIf="sheet.id === refreshCurrentSheet()" [dashboardID]="dashboard.id"></app-display-widgets>
</p-card>
</p-tabPanel> ...
...
在
元素中,我正在设置一个在水龙头关闭时调用的函数。该函数需要一些用于后台处理的进一步信息,因此我将传递sheet.id。问题是,由于分层结构,表被定义为一个元素。因此,我尝试将sheet.id
传递给
中的javascript。我认为当面板被点击时,我可以使用给定的sheet.id
。但我所做的任何尝试都没有有效的解决方案。所以我的问题是,如何将变量sheet.id
传递给javascript或javascript函数 如果要在单击时传递图纸id,可以按以下方式进行:
<p-tabPanel (click)="tabId(sheet.id)" [header]="sheet.name" *ngIf="sheet.type === 'enduser'" >
您可以使用名为selectedSheetId的变量
(mousedown)="selectedSheetId = sheet.id"
所以
(onClose)="deleteConfirmation(selectedSheetId)"
我会像你期望的那样工作
如果mousedown未在p-tabPanel上工作
<p-tabPanel header="Header 1">
<button class="btn btn-secondary-live"
(click)="selectedSheetId = sheet.id">Click</button>
</p-tabPanel>
点击
甚至一个Div标签也能帮到你
否则,您可以依赖p-tabView[activeIndex]=“activeTab”的索引,并在其中关联您的sheetId。您是否尝试过primeng中提供的onClose事件。使用它可以获得关闭选项卡的索引。然后,您可以创建自定义机制以在ts文件中获取sheet.id。无论如何,最好为你的代码创建stackblitz,然后人们可以帮助你。这是Priming stackblitz样板。导入您的模块并复制您的场景。同样在组件ts中,声明selectedSheetId。在定义选项卡内容时,不通过将元素放入来调用mousedown事件。所以这对我没有帮助。是的,但是点击事件不会被触发。我猜它可能会被覆盖,因为标签本身也是可点击的。