2016-11-24 5 views
1

Я пытаюсь разработать приложение, используя Угловые 2 с ионными 2 и вместо NavController Я хочу попробовать маршрутизации с Ui-маршрутизатор-NG2.не удается разрешить все параметры StateService

Login.ts:

import { Component } from '@angular/core'; 
import { NavController, MenuController } from 'ionic-angular'; 

import { AlertController } from 'ionic-angular'; 

import { StateService } from "ui-router-ng2"; 

import { DashboardPage } from '../dashboard/dashboard'; 

@Component({ 
    selector: 'page-login', 
    templateUrl: 'login.html', 
    providers: [StateService] 
}) 

export class LoginPage { 

    username: string; 
    password: string; 

    constructor(public navCtrl: NavController, public menu: MenuController, public alertCtrl: AlertController, public state: StateService) { 

    this.menu.enable(false, 'sidenav') 

    } 

    login() { 

    if (this.username == "admin" && this.password == "admin") { 
     // this.navCtrl.setRoot(DashboardPage, { username: this.username }); 
     this.state.go(DashboardPage); 
    } else { 
     let alert = this.alertCtrl.create({ 
     title: 'Incorrect Credentials!', 
     subTitle: 'Your username and password are incorrect. Hint: admin', 
     buttons: ['Login Again'] 
     }); 
     alert.present(); 
    } 

    } 

} 


я импортировал StateService от "Ui-маршрутизатор-NG2". I got the error, Can't resolve all parameters for StateService:

Пожалуйста, помогите мне в сортировке этой проблемы.

+0

у вас есть 'UIRouterModule.forRoot()' в загрузочном коде? –

+0

Кто-нибудь разрешил проблему? – Rezoan

ответ

-1

У меня была такая же проблема, и я решил ее с помощью @Injectable() перед моей службой.

Как что:

import {Http} from '@angular/http'; 
import {Observable} from 'rxjs/Observable'; 
import {Injectable} from '@angular/core'; 

@Injectable() 
export class StatService { 
    private ressourceInterneUrl = 'api/interne/stat'; 

    constructor(private http: Http) {} 

    addStatValues (viewName: string): Observable <any> { 
     return this.http.get(`${this.ressourceInterneUrl}/${viewName}`).map((res: any) => { 
      return res.json(); 
     }); 
    } 
} 
+0

Полный ответ должен содержать полный рабочий пример кода и объяснение * почему и/или как ваш ответ решает проблему *. Поскольку он стоит сейчас, ваш ответ был бы лучше, если бы он служил комментарием ** и мог быть удален системой * Low Quality Review *. – Frits

Смежные вопросы