我是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();
});
}
}
它登录工作没有导航但现在我添加了NavControllers参数,因为其他我见到了错误
this.nav未定义
但现在我收到了错误:
this.http.post不是函数
我猜错了:
return [[Http]], [[NavController]];
但我不知道如何解决它。
我想将Page1设置为Rootpage,然后我想导航到它。
还有可能向用户打印一些文字,例如:"密码错误"使用错误或什么?
答案 0 :(得分:0)
您似乎混合了两种导入方式。
static get Parameters
不是必需的
使用基于构造函数的注入而不使用get参数:
构造函数(public http:Http,public nav:NavController){}
通过设置公共/私人访问说明符,您不必执行this.nav=nav;