首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >错误TypeError: Observable_1.Observable.from不是函数

错误TypeError: Observable_1.Observable.from不是函数
EN

Stack Overflow用户
提问于 2018-09-13 05:12:20
回答 1查看 403关注 0票数 1

我在使用@select()和异步管道下载课程https://rutracker.org/forum/viewtopic.php?t=5433232时遇到了问题,在6课时,我发现了这个问题,然后一切都正常了。

..........................................................................................................................app.component.ts

代码语言:javascript
复制
import {Component} from '@angular/core';
import {NgRedux, select} from 'ng2-redux';
import {IAppState} from './store';
import {INCREMENT} from './actions';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.scss']
})
export class AppComponent {
  title: 'app';
  @select() counter;

  constructor(private ngRedux: NgRedux<IAppState>) {
  }

  increment() {
    this.ngRedux.dispatch({type: INCREMENT});
  }

}

app.component.html

代码语言:javascript
复制
<h1>{{title}}</h1>

<p>Counter: {{counter | async}}</p>

<button (click)="increment()">Increment</button>

app.module.ts

代码语言:javascript
复制
import {BrowserModule} from '@angular/platform-browser';
import {NgModule} from '@angular/core';

import {AppComponent} from './app.component';
import {CommonModule} from '@angular/common';
import {NgReduxModule, NgRedux} from 'ng2-redux';
import {IAppState, INITIAL_STATE, rootReducer} from './store';

@NgModule({
  declarations: [
    AppComponent
  ],
  imports: [
    CommonModule,
    BrowserModule,
    NgReduxModule
  ],
  providers: [],
  bootstrap: [AppComponent]
})
export class AppModule {
  constructor(ngRedux: NgRedux<IAppState>) {
    ngRedux.configureStore(rootReducer, INITIAL_STATE);
  }
}

actions.ts

代码语言:javascript
复制
export const INCREMENT = 'INCREMENT';

store.ts

代码语言:javascript
复制
import {INCREMENT} from './actions';

export interface IAppState {
  counter: number;
}

export const INITIAL_STATE: IAppState = {
  counter: 0
};

export function rootReducer(state: IAppState, action): IAppState {
  switch (action.type) {
    case INCREMENT:
      return {counter: state.counter + 1};
  }
  return state;
}
EN

回答 1

Stack Overflow用户

发布于 2019-01-11 14:54:12

有两种建议的解决方法:

A)覆盖TypeScript编译器选项。将下面的路径部分添加到src/tsconfig.app.json中的compilerOptions:

代码语言:javascript
复制
{
    "compilerOptions": {
        "paths": {
            "rxjs/internal/Observable": [
                "../node_modules/rxjs/_esm5/internal/Observable"
            ]
        }
    }
}

B)在6.2.x锁定RxJS版本您可以通过发出以下命令将您的应用程序锁定到未受影响的6.2.x版本的rxjs:

代码语言:javascript
复制
npm install --save rxjs@6.2 rxjs-compat@6.2
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52303551

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档