Ionic/Angular - 运行 名称来自 html 的方法
Ionic/Angular - Run method with name from html
我在 Ionic Angular 应用程序中有一个菜单。
<ion-menu-toggle auto-hide="false" *ngFor="let p of menuItems; let i = index">
<ion-item button (click)=p.method >
<ion-icon slot="start" [ios]="p.icon + '-outline'" [md]="p.icon + '-sharp'"></ion-icon>
</ion-item>
</ion-menu-toggle>
public menuItems = [
{ title: 'New', method: this.newFile, icon: 'add' },
{ title: 'Open', method: this.openFile, icon: 'download' },
{ title: 'Save', method: this.saveFile, icon: 'save' },
{ title: 'Export', method: this.exportFile, icon: 'archive' }
]
newFile(){ console.log("New");}
openFile(){ console.log("Open");}
...
但是点击按钮什么也没做。
有没有办法通过列表传递方法,或者我是否被迫使用带有开关的方法?
<ion-item button (click)=menuSwitch(p.method) >
menuSwitch(item){
if(item == 'New')
NewFile();
...
}
当然可以。这是JS。你可以做任何事。只需像下面这样更改您的点击次数
<ion-menu-toggle auto-hide="false" *ngFor="let p of menuItems; let i = index">
<ion-item button (click)="p.method()">
<ion-icon slot="start" [ios]="p.icon + '-outline'" [md]="p.icon + '-sharp'"></ion-icon>
</ion-item>
</ion-menu-toggle>
我在 Ionic Angular 应用程序中有一个菜单。
<ion-menu-toggle auto-hide="false" *ngFor="let p of menuItems; let i = index">
<ion-item button (click)=p.method >
<ion-icon slot="start" [ios]="p.icon + '-outline'" [md]="p.icon + '-sharp'"></ion-icon>
</ion-item>
</ion-menu-toggle>
public menuItems = [
{ title: 'New', method: this.newFile, icon: 'add' },
{ title: 'Open', method: this.openFile, icon: 'download' },
{ title: 'Save', method: this.saveFile, icon: 'save' },
{ title: 'Export', method: this.exportFile, icon: 'archive' }
]
newFile(){ console.log("New");}
openFile(){ console.log("Open");}
...
但是点击按钮什么也没做。
有没有办法通过列表传递方法,或者我是否被迫使用带有开关的方法?
<ion-item button (click)=menuSwitch(p.method) >
menuSwitch(item){
if(item == 'New')
NewFile();
...
}
当然可以。这是JS。你可以做任何事。只需像下面这样更改您的点击次数
<ion-menu-toggle auto-hide="false" *ngFor="let p of menuItems; let i = index">
<ion-item button (click)="p.method()">
<ion-icon slot="start" [ios]="p.icon + '-outline'" [md]="p.icon + '-sharp'"></ion-icon>
</ion-item>
</ion-menu-toggle>