单击侧面菜单 - 离子2应用程序时页面无法打开

时间:2017-06-08 01:28:08

标签: angularjs typescript ionic-framework ionic2

点击侧边菜单后,我无法打开页面。

这是我的app.component.ts:

this.pages = [
                { title: 'NFC Page', component: NfcPage, note: 'NFC Page' },
                { title: 'Student Details', component: StudentDetails, note: 'Student Details' },
    ];

这是我的app.module.ts:

@NgModule({
  declarations: [
    StudentDetails,
    NfcPage,
],
entryComponents: [
    StudentDetails,
    NfcPage,
  ],

这是我的nfc.ts页面:

 import {Component} from '@angular/core';
    import {IonicPage, NavController, NavParams} from 'ionic-angular';
    import {NFC, Ndef} from '@ionic-native/nfc';

    @IonicPage()
    @Component({
        selector: 'page-nfc',
        templateUrl: 'nfc.html',
    })
    export class NfcPage {

        constructor(public navCtrl: NavController,
                    public navParams: NavParams,
                    private nfc: NFC,
                    private ndef: Ndef) {
}
}

这是我的nfc.html页面:

<ion-header>
    <ion-navbar>
        <button ion-button menuToggle>
            <ion-icon name="menu"></ion-icon>
        </button>
        <ion-title>NFCPage</ion-title>
    </ion-navbar>
</ion-header>

<ion-content padding>
    <p>NFC Page!</p>
</ion-content>

学生详细信息页面打开正常,但是当我点击“Nfc页面”时,没有任何反应。

2 个答案:

答案 0 :(得分:1)

通过侧边菜单打开页面,当您单击侧面菜单选项时,需要将该页面作为根页面。您可以找到以下代码: -

<强> app.html:

<ion-menu id="myMenu" [content]="mycontent" >
    <ion-content>
        <ion-list>
            <ion-item  ion-item small menuClose  (click)="nav.setRoot(pages.nfc)">
                <ion-icon name="home" item-left menuClose ></ion-icon> NFC 
            </ion-item > 
                <ion-item small menuClose  (click)="nav.setRoot(pages.std_detils)">
                <ion-icon ios="ios-contact" md="ios-contact" item-left ></ion-icon> Student Details
            </ion-item> 
        </ion-list>
    </ion-content>
</ion-menu>

<ion-nav #mycontent [root]="rootPage"></ion-nav>

<强> app.component.ts:

this.rootPage = NfcPage;
  this.pages = {
        "nfc": NfcPage,
        "std_detils": StudentDetails,

      };

答案 1 :(得分:0)

我设法找到了解决方案。问题出在constructor nfc.ts模块中。两个私有参数(private nfc: NFCprivate ndef: Ndef)似乎与我正在使用的插件分开。我从constructor中删除了这两个参数,然后我就可以打开页面了。可悲的是,控制台或其他任何地方都没有例外。希望它可以帮到某人。