我是 Ionic 2 的新手,我想在登录成功时创建一个导航,所以我使用了这个:
import { Component } from '@angular/core';
import {Http} from '@angular/http';
import 'rxjs/add/operator/map';
import { NavController } from 'ionic-angular';
import {Page1} from '../page1/page1';
@Component({
selector: 'page-login',
templateUrl: 'login.html'
})
export class Login {
private nav:NavController = null;
static get parameters()
{
return [[Http]], [[NavController]];
}
constructor(public http:Http, nav: NavController)
{
this.nav = nav;
}
login(credentials)
{
this.http.post(url, UserLogin)
.map(res => res.json())
.subscribe((response) =>
{
console.log("Welkom");
this.nav.setRoot(Page1);
this.nav.popToRoot();
});
}
}
它登录在没有导航的情况下工作,但现在我将导航控制器添加到参数,因为其他原因我遇到了错误
this.nav 是未定义的
但是现在我得到了错误:
this.http.post 不是函数
我猜错误就在这里:
return [[Http]], [[NavController]];
但我不知道如何解决它。
我想将Page1设置为根页面,然后我想导航到它。
是否也可以向用户打印一些文本,例如:使用错误或其他内容的"错误密码"?
您似乎混合了两种导入方式。
不需要static get Parameters
使用基于构造函数的注入而不带 get 参数:
constructor(public http:Http, public nav: NavController) { }
通过设置公共/专用访问说明符,您不必执行this.nav=nav;