다음 명령을 사용하여 Ionic v2 응용 프로그램을 만들었습니다.Ionic 2로 이동 한 페이지에서 주 구성 요소의 기능에 액세스하려면 어떻게해야합니까?
ionic start my-app sidemenu --v2 --ts
.
파일 내에서 app.ts
파일 안에는 사이드 메뉴가 표시되어야 할 상태를 유지하고 상태를 유지하는 것과 같은 몇 가지 작업을 수행 할 수있는 몇 가지 논리 (함수)가 있습니다. 특정 페이지 (예 : pages/getting-started/getting-started.ts
)가 표시되면 app.ts
에서 같은 기능을 다시 사용하고 싶습니다. 내비게이션 페이지에서 app.ts
의 기능에 액세스하려면 어떻게해야합니까?
내 app.ts
은 다음과 같습니다.
class MyApp {
@ViewChild(Nav) nav:Nav;
private rootPage:any = GettingStartedPage;
private pages:any;
constructor(platform:Platform) {
this.initializeApp();
this.pages = {
'GettingStartedPage': GettingStartedPage,
'AnotherPage': AnotherPage //more pages and modals
};
}
initializeApp() {
this.platform.ready().then(() => {
StatusBar.styleDefault();
});
}
openPage(page:string) {
//when a user clicks on the left menu items, a new page is navigated to
let component this.pages[page];
this.nav.setRoot(component);
}
openModal(page:string) {
//modals are opened here, there's more complicated logic
//but this serves to demonstrate my problem
let component = this.pages[page];
Modal.create(component);
}
}
ionicBootstrap(MyApp);
내 getting-started.ts
은 다음과 같습니다.
export class GettingStartedPage {
constructor(
platform:Platform,
viewController:ViewController,
navController:NavController,
navParams:NavParams) {
}
buttonClicked() {
//i need to access app.ts openModal here
//how do i call a method on app.ts?
//like MyApp.openModal('SomeModal');
}
}