Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/33.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 成功登录失败后导航_Angular_Login_Ionic2 - Fatal编程技术网

Angular 成功登录失败后导航

Angular 成功登录失败后导航,angular,login,ionic2,Angular,Login,Ionic2,我是爱奥尼亚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({ se

我是爱奥尼亚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();
            });   
    }
}
它在没有nav的情况下工作,但现在我在参数中添加了nav控制器,因为我遇到了一个错误

此.nav未定义

但现在我犯了一个错误:

this.http.post不是一个函数

我想,错就在这里:

 return [[Http]], [[NavController]];
但我不知道如何修复它

我想将Page1设置为Rootpage,然后导航到它


是否也有可能使用错误或其他方式向用户打印一些文本,例如:“错误的密码”?

您似乎混合了两种导入方式

不需要静态获取参数

使用不带get参数的基于构造函数的注入:

构造函数(公共http:http,公共nav:NavController){}


通过设置公共/私有访问说明符,您不必执行
this.nav=nav

正常。。第一种是比较老的方法。。将从我的答案中删除它