Javascript 爱奥尼亚公司;角度-可重复使用';下一页';按钮

Javascript 爱奥尼亚公司;角度-可重复使用';下一页';按钮,javascript,angular,ionic3,Javascript,Angular,Ionic3,我正在用Angular和Ionic 3构建一个游戏,因为这个游戏有很多页面/视图,所以我不想在我有按钮的页面的ts文件中编写相同的代码 我的问题是,是否可以创建一个“可重用的”按钮,将当前视图移动到另一个视图?我所说的“可重用”是指在app.ts中声明按钮单击功能,并从HTML动态更改目标页面 到目前为止我所做的: 在home.html中 <button ion-button color="light" (click)="moveToPage(gameSettings)">One P

我正在用Angular和Ionic 3构建一个游戏,因为这个游戏有很多页面/视图,所以我不想在我有按钮的页面的ts文件中编写相同的代码

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

到目前为止我所做的:

在home.html中

<button ion-button color="light" (click)="moveToPage(gameSettings)">One Player</button>
不幸的是,这不起作用!发生的情况是,HTML将“pageName”作为变量传递,并带有
未定义的
类型,即抛出错误。Ionic的navCtrl页面仅说明如何通过this.navCtrl.push()函数中的页面名称显式移动到另一个页面


如果您有任何关于此行为的帮助,我们将不胜感激。

您只需将
(单击)=“moveToPage(gameSettings)”
更改为
(单击)=“moveToPage('gameSettings')”
。只是缺少了
'

HTML中的pageName变量是什么?我的意思是,你在哪里给它一个值?公平的说,我现在将更新HTML文件以消除混淆。我想做的是用HTML传递我想进入的页面的名称。@GianlucaParis,你以前的回答是对的,在尝试完成plunker时,我修复了代码中的一个拼写错误,所以你回答了我的问题。欢迎在下面添加您的答案谢谢,我再次添加了我的答案:)这确实有帮助,但现在我遇到了以下错误:
Uncaught(承诺):无效链接:gamessettings
。出于调试目的,我将导航功能更改为.navCtrl.push(gameSettings);而且它是有效的。。。我不知道为什么它现在破了。你能把你的问题复制到一个垃圾桶里吗?
constructor(public navCtrl: NavController, public navParams: NavParams) {
    moveToPage(pageName: String)
    {
        this.navCtrl.push(pageName);
    }
}