Angular 访问活动页面';ionViewCanEnter期间的名称
在Ionic 2中,我试图在进入推送页面(PUSHEE)之前确定发送页面(PUSHER)的名称 在PUSHEE中,我有一个Angular 访问活动页面';ionViewCanEnter期间的名称,angular,typescript,ionic2,Angular,Typescript,Ionic2,在Ionic 2中,我试图在进入推送页面(PUSHEE)之前确定发送页面(PUSHER)的名称 在PUSHEE中,我有一个ionViewCanEnter,我想在这里确定推送者的名字。当我使用NavController获取活动页面时,它返回undefined。导航控制器本身不是未定义的,只是来自getActive的响应。有没有关于获取页面推送者姓名的建议 ionViewCanEnter(): boolean { console.log('active page', this.navCtrl
ionViewCanEnter
,我想在这里确定推送者的名字。当我使用NavController获取活动页面时,它返回undefined
。导航控制器本身不是未定义的,只是来自getActive
的响应。有没有关于获取页面推送者姓名的建议
ionViewCanEnter(): boolean {
console.log('active page', this.navCtrl.getActive());
return true;
}
重定向到另一个页面的简单示例:
<button ion-button (click)="redirectHomepage();">Home Page</button>
import { Component } from '@angular/core';
import { IonicPage, NavController, NavParams } from 'ionic-angular';
import { HomePage } from '../home/home';
@IonicPage()
@Component({
selector: 'page-level',
templateUrl: 'level.html',
})
export class LevelPage {
constructor(public navCtrl: NavController, public navParams: NavParams) {
}
redirectHomepage()
{
this.navCtrl.push(HomePage);
}
}
主页
从'@angular/core'导入{Component};
从“离子角度”导入{IonicPage,NavController,NavParams};
从“../home/home”导入{HomePage};
@IonicPage()
@组成部分({
选择器:“页面级别”,
templateUrl:'level.html',
})
导出类级别页面{
构造函数(公共navCtrl:NavController,公共navParams:navParams){
}
重定向主页()
{
this.navCtrl.push(主页);
}
}
好吧,没有一个好方法可以获取活动页面的名称。但是,可以从推送器发送字符串参数:
this.navCtrl.push(HomePage, {pusherName: "MyPageName"});
在PUSHEE:
ionViewCanEnter(): boolean {
console.log('active page', this.navParams.get(pusherName));
return true;
}
编辑:
请注意,您可以使用以下方法获取类的名称(以及页面名称):
(this).constructor.toString()
然而,在我的实验中,当您使用
--prod
运行ionic
时,构造函数的名称会得到优化。因此,如果您尝试任何其他方法,请确保使用--prod
对其进行测试。我可以通过getViews
访问上一页
ionViewCanEnter(): boolean {
console.log('getViews', this.navCtrl.getViews());
var all_views = this.navCtrl.getViews();
var last_view = all_views[all_views.length-1];
var last_view_name = last_view.name;
}