我正在使用Ionic 2
并且在iOS simulator
中导航工作时出现问题。这是一个简化的代码段:
import {Component} from '@angular/core';
import {NavController, NavParams} from 'ionic-angular';
@Component({
template: `
<pre>{{ state | json }}</pre>
<ion-select (ionChange)="selectState($event)">
<ion-option>State 1</ion-option>
<ion-option>State 2</ion-option>
</ion-select>
`
})
export class StatePage {
private state;
constructor(private nav: NavController) {}
selectState(state) {
this.state = state;
console.log("before navigation");
this.nav.push(BaseCodePage, { state });
console.log("after navigation");
}
}
@Component({
templateUrl: 'build/pages/registration/base-code/base-code.html'
})
export class BaseCodePage {
constructor(
private nav: NavController,
params: NavParams
) {
console.log("initializing BaseCodePage, received", params.get('state'));
}
}
从界面中选择State 1
并触发selectState
后,所有消息都会显示:before navigation
,initializing BaseCodePage, received State 1
和after navigation
,这意味着下一个组件已实例化。此后没有错误消息或任何其他输出。选定的状态也会通过<pre>{{ state | json }}</pre>
在屏幕上呈现。但是,此时应用程序冻结,我无法再单击选择,并且下一个组件不会被渲染。
我已经在网络版和Android版中对此进行了测试,两者都运行良好。不幸的是我无法在iPhone上测试它,因为我没有Mac并且我正在为客户端进行远程调试,所以现在我只能声称它在iOS模拟器中不起作用。
有人有这个问题吗?任何进一步调试的提示,因为没有错误信息?
谢谢!