首页 文章

属性'ngRedux'在'AppModule'类型上不存在 . ?

提问于
浏览
0

我一直在努力在angular6中实现redux,它几乎完成了应用程序工作正常,但它在节点cli中引发错误 Property 'ngRedux' does not exist on type 'AppModule'.?

当我在App.module.ts导入和导出中添加NgRedux时,它会抛出错误并且应用程序停止工作 .

有什么问题吗?

我的app.module.ts

import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { FormsModule } from '@angular/forms';
import { NgRedux, NgReduxModule } from '@angular-redux/store';
import { AppComponent } from './app.component';
import { MatButtonModule } from '@angular/material/button';
import { HomeComponent } from './home/home.component';
import { ProfileComponent } from './profile/profile.component';
import { MatInputModule } from '@angular/material/input';
import { MatCardModule } from '@angular/material/card';
import { MatBadgeModule } from '@angular/material/badge';

import { createLogger } from 'redux-logger';

import { IAppState, rootReducer, INITIAL_STATE } from './reducers/rootReducers';


@NgModule({
  declarations: [
    AppComponent,
    HomeComponent,
    ProfileComponent
  ],
  imports: [
    BrowserModule,
    FormsModule,
    NgReduxModule,
    MatButtonModule,
    MatInputModule,
    MatCardModule,
    MatBadgeModule
  ],
  providers: [],
  bootstrap: [AppComponent]
})
export class AppModule { 

      constructor(ngRedux: NgRedux<IAppState>) {
      // ngRedux.configureStore(rootReducer, INITIAL_STATE);
      this.ngRedux = ngRedux;
      ngRedux.configureStore(rootReducer, INITIAL_STATE, [ createLogger() ]);
      console.log(this.ngRedux.getState());
    }
}

enter image description here

1 回答

  • 0

    问题是当你使用 this.ngRedux 时,因为ngRedux没有被声明为类AppModule的变量 . 删除 this 或声明为类变量,如:

    export class AppModule { 
    ngRedux : NgRedux;
      constructor(ngRedux: NgRedux<IAppState>) {
        // ngRedux.configureStore(rootReducer, INITIAL_STATE);
        this.ngRedux = ngRedux;
        ngRedux.configureStore(rootReducer, INITIAL_STATE, [ createLogger() ]);
        console.log(this.ngRedux.getState());
      }
    
    }
    

相关问题