我正在使用Angular和Ionic 3构建游戏,并且由于该游戏具有许多页面/视图,因此我想避免在具有按钮的页面的ts文件中编写相同的代码。

我的问题是以下内容,是否可以创建一个“可重用”按钮以将当前视图移动到另一个视图?我所说的“可重用”是在app.ts中声明按钮单击功能,然后从HTML动态更改目标页面。

到目前为止,我所做的是:

在home.html中

<button ion-button color="light" (click)="moveToPage(gameSettings)">One Player</button>


注意:
我要转到的页面类是“ gameSetting”,这是我的项目在/ pages / game-settings /中的一部分

在app.ts中

constructor(public navCtrl: NavController, public navParams: NavParams) {
    moveToPage(pageName: String)
    {
        this.navCtrl.push(pageName);
    }
}


不幸的是,这行不通!发生的情况是HTML将'pageName'传递为undefined类型的变量,即引发错误。 Ionic的navCtrl页面仅通过this.navCtrl.push()函数中的页面名称来说明如何移动到另一页面。 https://ionicframework.com/docs/api/navigation/NavController/

任何有关此行为的帮助将不胜感激。

最佳答案

您只需将(click)="moveToPage(gameSettings)"更改为(click)="moveToPage('gameSettings')"。只是缺少''

10-02 04:10