I would like to call the template configuration.html in my app.html, and it seems impossible to call an html template implemented in a child and call it in a parent page.
My architecture looks like this with ionic
src
app
- app.component.ts
- app.html
- app.module.ts
pages
menus
- configuration.html
- menus.component.ts
configuration.html (I want to call this html in app.html):
Note : if I put this code directly in app.html, I can build correctly my app and it works.
<ion-menu persistent="true" [content]="content" side="left" id="menuParameter">
<ion-header>
<ion-toolbar color="default">
<ion-title>Configuration</ion-title>
</ion-toolbar>
</ion-header>
<ion-content>
<ion-list>
<ion-item>
<ion-label>Mode1</ion-label>
<ion-toggle color="energized"></ion-toggle>
</ion-item>
<ion-item>
<ion-label>Mode2</ion-label>
<ion-toggle color="danger" [(ngModel)]="isToggled" (ionChange)="notify()"></ion-toggle>
</ion-item>
</ion-list>
</ion-content>
</ion-menu>
menus.component.ts :
import { Component } from '@angular/core';
import { Logger } from '../../app/logger.service'
import { HttpClient } from '@angular/common/http';
import { NavController, NavParams, MenuController } from 'ionic-angular';
import { Events } from 'ionic-angular';
@Component({
selector: 'configuration-component',
templateUrl: 'configuration.html'
})
/**
* Contain link with
*/
export class MenusPage {
constructor(){}
}
so far so good, now letās me introduce the parent page app.html
<configuration-component></configuration-component> <!--if a put the html above here, it works ! but not when i call the template configuration-component weirdly-->
<ion-nav [root]="rootPage" #content swipeBackEnabled="false"></ion-nav>
Finally app.component.ts i use this :
import { Component } from '@angular/core';
import { Platform } from 'ionic-angular';
import { StatusBar } from '@ionic-native/status-bar';
import { SplashScreen } from '@ionic-native/splash-screen';
import { HomePage } from '../pages/home/home';
import { MenusPage } from '../pages/menus/menus.component';
import { Events } from 'ionic-angular';
@Component({
templateUrl: 'app.html'
})
export class AppComponent {
rootPage:any = HomePage;
constructor(public events: Events,platform: Platform, statusBar: StatusBar, splashScreen: SplashScreen) {
platform.ready().then(() => {
statusBar.styleDefault();
splashScreen.hide();
this.isToggled = false;
});
}
}
I would like to call the template configuration.html in my app.html.
My architure looks like this with ionic :
>src
>app
- app.component.ts
- app.html
- app.module.ts
>pages
> menus
- configuration.html
- menus.component.ts
Expand snippet
configuration.html (I want to call this html in app.html):
Note : if I put this code directly in app.html, I can build correctly my app and it works.
<ion-menu persistent="true" [content]="content" side="left" id="menuParameter">
<ion-header>
<ion-toolbar color="default">
<ion-title>Configuration</ion-title>
</ion-toolbar>
</ion-header>
<ion-content>
<ion-list>
<ion-item>
<ion-label>Mode1</ion-label>
<ion-toggle color="energized"></ion-toggle>
</ion-item>
<ion-item>
<ion-label>Mode2</ion-label>
<ion-toggle color="danger" [(ngModel)]="isToggled" (ionChange)="notify()"></ion-toggle>
</ion-item>
</ion-list>
</ion-content>
</ion-menu>
<ion-menu persistent="true" [content]="content" side="right" id="menuInformation">
<ion-header>
<ion-toolbar color="default">
<ion-title>Menu2</ion-title>
</ion-toolbar>
</ion-header>
<ion-content>
</ion-content>
</ion-menu>
Expand snippet
menus.component.ts :
import { Component } from '@angular/core';
import { Logger } from '../../app/logger.service'
import { HttpClient } from '@angular/common/http';
import { NavController, NavParams, MenuController } from 'ionic-angular';
import { Events } from 'ionic-angular';
@Component({
selector: 'configuration-component',
templateUrl: 'configuration.html'
})
/**
* Contain link with
*/
export class MenusPage {
constructor(){}
}
Expand snippet
app.html :
<configuration-component></configuration-component>
<ion-nav [root]="rootPage" #content swipeBackEnabled="false"></ion-nav>
Expand snippet
Finally app.component.ts i use this :
import { Component } from '@angular/core';
import { Platform } from 'ionic-angular';
import { StatusBar } from '@ionic-native/status-bar';
import { SplashScreen } from '@ionic-native/splash-screen';
import { HomePage } from '../pages/home/home';
import { MenusPage } from '../pages/menus/menus.component';
import { Events } from 'ionic-angular';
@Component({
templateUrl: 'app.html'
})
export class AppComponent {
rootPage:any = HomePage;
constructor(public events: Events,platform: Platform, statusBar: StatusBar, splashScreen: SplashScreen) {
platform.ready().then(() => {
statusBar.styleDefault();
splashScreen.hide();
this.isToggled = false;
});
}
}
i really donāt see where my logic is wrong. But the build process failed without any indication where the logic is wrong. Any help please ?