Резольвер не работает - угловой - PullRequest
0 голосов
/ 03 декабря 2018

state.service.ts

import { Injectable } from "@angular/core";
import {Http} from "@angular/http";
import {Resolve, ActivatedRouteSnapshot, RouterStateSnapshot} from "@angular/router";
import { Observable } from "rxjs/Observable";
import 'rxjs/add/observable/of';
import 'rxjs/add/operator/delay';
@Injectable()
export class StateOptions implements Resolve<Observable<string>> {

   constructor(private http:Http) {
}

resolve() {
    return Observable.of('Hello Alligator!').delay(2000);
  }
}

routing.module.ts

import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router';
import { AppComponent } from './app.component';
import {StateOptions} from './state.service';

const routes: Routes = [
  {
    path: '',
    component:AppComponent,
    resolve: { message: StateOptions }    
  },
];

@NgModule({
  imports: [RouterModule.forRoot(routes)],
  exports: [RouterModule],
  providers: [StateOptions]
})
export class AppRoutingModule {
}

app.module.ts

import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { FormsModule } from '@angular/forms';
.....
import { StateOptions } from './state.service'



@NgModule({
  declarations: [
    HomeComponent,
    AppComponent,  
  ],
  imports: [
    BrowserModule,
    FormsModule,
    HttpClientModule,
    AppRoutingModule,
    StateOptions


  ],
  exports: [

  ],
  providers: [StateOptions],
  bootstrap: [HomeComponent]
})
export class AppModule { }

Я пытаюсь использоватьрешатель в моем проекте.Показанное выше является конфигурацией.Я получаю сообщение об ошибке на консоли, ничего не отображается в браузере .. он работал до добавления распознавателя .. я думаю, что проблема в конфигурации преобразователя, это ошибка, с которой я сталкиваюсь .. ценю любую помощь

 Unexpected value 'StateOptions' imported by the module 'AppModule'. Please add a @NgModule annotation.

1 Ответ

0 голосов
/ 03 декабря 2018

Удалить stateOptions из массива imports.Это сервис, а не модуль.Только модули должны быть импортированы.

imports: [
    BrowserModule,
    FormsModule,
    HttpClientModule,
    AppRoutingModule,
   //StateOptions
  ],
...