import { Component } from '@angular/core';
import { IonicPage, Nav, NavParams, App, ViewController } from 'ionic-angular';
import { NewflightPage } from '../newflight/newflight';
import { RolesactionPage } from '../rolesaction/rolesaction';
import { EditProfilePage } from '../edit-profile/edit-profile';
import { ManagePeoplePage } from '../manage-people/manage-people';
import { HomePage } from '../home/home';
@IonicPage()
@Component({
selector: 'page-main',
templateUrl: 'main.html',
})
export class MainPage {
constructor(public navCtrl: Nav, public navParams: NavParams, public viewCtrl: ViewController,public appCtrl: App) {
}
ionViewWillEnter() {
var lc = document.createElement('script');
lc.type = 'text/javascript';
lc.src = 'assets/js/dialog.js';
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(lc, s);
}
rolesAction() {
this.navCtrl.push(RolesactionPage);
}
myFlightAction() {
this.navCtrl.push(MainPage);
}
}
Above is the my component code.
I am calling myFlightAction() from main.html like below
<a (click)="myFlightAction()"><img src="assets/imgs/flight-depart.png" alt="My Flights"> My Flights</a>
以下是我的component.ts文件代码
列出项目
'Go to work'
请告诉我我错在哪里。当我在浏览器中检查时,它是新添加的z-index 101 ...每次都是这样。当我点击我的航班按钮时。 你能告诉我如何在每次页面加载时单独加载每个离子页面所需的java脚本文件吗?
答案 0 :(得分:1)
您推送新页面的错误是什么?这样,它总是会有一个新页面,而不会忽略最后一页。对于这种情况,您需要做的是使用setRoot
方法。
myFlightAction() {
this.navCtrl.setRoot(MainPage);
}
请注意,这将清除您的导航堆栈,并将MainPage
设置为您的第一页。
推送页面只是将另一个页面放在导航堆栈中,这就是为什么它为您推送的每个页面提供更高值z-index
的原因。虽然setRoot
顾名思义,但会将导航堆栈的root component设置为您想要的组件。
您需要知道您所在页面的索引是什么,以便将其从堆栈中删除。由于我不知道页面的顺序以及如何相互访问,或者即使订单可以是动态的,我们首先得到页面控制器,以便e可以获得他的索引,然后推送另一个页面然后你将删除前一个。
myFlightAction() {
// Get the controller of the active page
const myActualController = this.navCtrl.getActive();
// Get the index of the active page
const pageIndex: number = this.navCtrl.indexOf(myActualController);
// Push your new page
this.navCtrl.push(MainPage).then(() => {
// In the callback of your push method, after successfully pushing your the page, you'll remove this page based on his index.
this.navCtrl.remove(pageIndex);
});
}