2016-10-28 34 views
0

因此,我想添加一个新页面到我的离子应用程序..我已经通过命令行中的'离子生成页面搜索页面'创建了文件夹'searchpage'。然后我加入...离子2添加页面,按钮到搜索页面什么也不做

import { Searchpage } from '../searchpage/searchpage';

为 'home.ts' 的顶部,并以此为@Component下...

@Component({ 
 
    selector: 'page-home', 
 
    templateUrl: 'home.html' 
 
}) 
 
export class HomePage { 
 

 

 

 
    constructor(public navCtrl: NavController, public authData: AuthData) { 
 

 
    } 
 

 
    logMeOut() { 
 
    this.authData.logoutUser().then(() => { 
 
     this.navCtrl.setRoot(LoginPage); 
 
    }); 
 
    } 
 

 
    searchPage(){ 
 
    this.nav.push(Searchpage); 
 
    } 
 

 
}

和然后在home.html我添加按钮...

<button ion-button color="positive" block (click)="searchPage()"> 
 
    Search Page 
 
    </button>

该按钮出现,但不会对点击执行任何操作。

请帮我做错了什么?

+0

在你的构造你被点名了''NavController的实例作为'navCtrl'但在'searchPage()'方法你做'this.nav ...'。改变'this.navCtrl.push(Searchpage);'的那一行 – sebaferreras

回答

0

您还需要在app.module.ts文件中导入新页面。 然后将其添加到declarationsentryComponents阵列。看下面的例子:

import { NgModule } from '@angular/core'; 
import { IonicApp, IonicModule } from 'ionic-angular'; 

import { 
    Devices, 
} from '../providers'; 

import { MyApp } from './app.component'; 
import { Login } from '../pages/login/login'; 
import { Page1 } from '../pages/page1/page1'; 
import { Page2 } from '../pages/page2/page2'; 

@NgModule({ 
    declarations: [ 
    MyApp, 
    Login, 
    Page1, 
    Page2, 
    ], 
    imports: [ 
    IonicModule.forRoot(MyApp), 
    ], 
    bootstrap: [IonicApp], 
    entryComponents: [ 
    MyApp, 
    Login, 
    Page1, 
    Page2 
    ], 
    providers: [ 
    Devices, 
    ] 
}) 
export class AppModule { }