Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular ionic2导航崩溃[navPush]_Angular_Ionic Framework_Ionic2 - Fatal编程技术网

Angular ionic2导航崩溃[navPush]

Angular ionic2导航崩溃[navPush],angular,ionic-framework,ionic2,Angular,Ionic Framework,Ionic2,我今天开始用ionic 2进行构建,并且取得了很大的进步。我有3-4个页面,导航正常,然后有些东西坏了,我想不出来 现在,每当我执行到任何其他页面的简单导航时,都会出现下面的错误。我开始取消所有代码的注释,然后创建了一个全新的空白项目(两次),代码越少越好。它还在发生,我不知道为什么。有什么帮助吗 步骤: 1) 创建新项目 ionic start IonicLogin blank --v2 2) 添加新页面: ionic g page landing 3) 更新home.html和home.

我今天开始用ionic 2进行构建,并且取得了很大的进步。我有3-4个页面,导航正常,然后有些东西坏了,我想不出来

现在,每当我执行到任何其他页面的简单导航时,都会出现下面的错误。我开始取消所有代码的注释,然后创建了一个全新的空白项目(两次),代码越少越好。它还在发生,我不知道为什么。有什么帮助吗

步骤: 1) 创建新项目

ionic start IonicLogin blank --v2
2) 添加新页面:

ionic g page landing
3) 更新home.html和home.ts以导航到登录页(下面的html)

所有内容都会生成,应用程序会加载,但单击按钮我会看到:

4     183512   error    invalid page component: undefined
5     183527   error    EXCEPTION: Uncaught (in promise): false
7     183527   error    Error: Uncaught (in promise): false
    at s (http://localhost:8100/build/polyfills.js:3:8546)
    at http://localhost:8100/build/polyfills.js:3:8296
    at Object.ti.reject (http://localhost:8100/build/main.js:46775:23)
    at NavControllerBase._queueTrns (http://localhost:8100/build/main.js:46781:20)
    at NavControllerBase.push (http://localhost:8100/build/main.js:46662:21)
    at NavPush.onClick (http://localhost:8100/build/main.js:55680:23)
    at _View_HomePage0._handle_click_17_0 (HomePage.ngfactory.js:288:34)
    at http://localhost:8100/build/main.js:10947:24
    at http://localhost:8100/build/main.js:34565:36
    at http://localhost:8100/build/main.js:34685:111
6     183527   error    ORIGINAL STACKTRACE:

谢谢你@sebafereras!由于评论要求提供我的home.ts文件,我看得更近了一点。这就是问题所在。我将landingPage作为landingPage类型的一个实例。把它换到下面,事情又开始了

import { Component } from '@angular/core';

import { NavController } from 'ionic-angular';
import {LandingPage} from '../landing/landing';

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

      landingPage;

  constructor(public navCtrl: NavController) {
    this.landingPage = LandingPage;
  }  
}

请将
home.ts
文件的代码包括在内好吗?谢谢@sebafereras!您能告诉我下面的解决方案是否是将页面类型公开给模板以用于导航的最佳方法吗?这种模式是可行的,但我觉得它不够直观。有更好的解决方法吗?很高兴听到你解决了这个问题:)是的,你这样做的方式似乎就是爱奥尼亚团队在文档中这样做的方式,所以我想这是最好的方式。话虽如此,我还是更喜欢使用
点击
事件来推送一个新页面(而不是属性
[navPush]
),但最终结果完全一样。太棒了-再次感谢!我希望在这个场景中发生的错误能让我明白。至少现在是这样,如果有人遇到同样的错误。
4     183512   error    invalid page component: undefined
5     183527   error    EXCEPTION: Uncaught (in promise): false
7     183527   error    Error: Uncaught (in promise): false
    at s (http://localhost:8100/build/polyfills.js:3:8546)
    at http://localhost:8100/build/polyfills.js:3:8296
    at Object.ti.reject (http://localhost:8100/build/main.js:46775:23)
    at NavControllerBase._queueTrns (http://localhost:8100/build/main.js:46781:20)
    at NavControllerBase.push (http://localhost:8100/build/main.js:46662:21)
    at NavPush.onClick (http://localhost:8100/build/main.js:55680:23)
    at _View_HomePage0._handle_click_17_0 (HomePage.ngfactory.js:288:34)
    at http://localhost:8100/build/main.js:10947:24
    at http://localhost:8100/build/main.js:34565:36
    at http://localhost:8100/build/main.js:34685:111
6     183527   error    ORIGINAL STACKTRACE:
import { Component } from '@angular/core';

import { NavController } from 'ionic-angular';
import {LandingPage} from '../landing/landing';

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

      landingPage;

  constructor(public navCtrl: NavController) {
    this.landingPage = LandingPage;
  }  
}