Выбор ngrx/store не существует

Я пытаюсь немного воссоздать пример проекта ngrx/store со следующим кодом, я знаю, что это довольно много для приложения TODO, но хотел понять концепции:

// State Model
interface Todo {
  id: number;
  text: string;
  completed: boolean;
}

interface TodoState {
  entities: Todo[];
}

interface AppState {
  todos: TodoState;
}

// State Retrieval
getTodos() {
  return (state: Observable<TodoState>) => state.select(s => s.entities);
}

getTodoState() {
  return (state: Observable<AppState>) => state.select(s => s.todos);
}

getTodosCollection() {
  return compose(this.getTodos(), this.getTodoState());
}

@Component({...})
class App {
  // I'd think I should be able to type this to Array<Todo>,
  // but that throws a compile-time error.
  // Also, I'm assuming the $ is convention to designate
  // a stream.
  todos$: Observable<any>;

  constructor(private store:Store<AppState>) {
    this.todos = store.let(this.getTodosCollection());
  }

}

Этот код создает две ошибки времени компиляции:

Property 'select' does not exist on type 'Observable<TodoState>'.
Property 'select' does not exist on type 'Observable<AppState>'.

Я пробовал кучу разных вариантов импорта Observable, но это, кажется, не имеет значения, поэтому я просто взял то, что было в примере приложения:

import {Observable} from 'rxjs/Observable';

Любая помощь будет принята с благодарностью!


person dardo    schedule 10.08.2016    source источник


Ответы (1)


Похоже, вы не импортировали select and let, попробуйте добавить следующие импорты:

import '@ngrx/core/add/operator/select';
import 'rxjs/add/operator/let'; 
person menix    schedule 10.08.2016
comment
Это сделало это! Спасибо за помощь! - person dardo; 10.08.2016