2016-10-10 4 views
0
import { StoreModule } from "@ngrx/store"; 
import { currentPurchase } from "../shared/index"; 

@NgModule({ 
imports: [ 
     IonicModule.forRoot(MyApp, {}), 
     HttpModule, 
     StoreModule.provideStore({currentPurchase}) 
    ] 
.. 

Я получаю Property currentPurchase' does not exist on type typeof app.module. Импортный редуктор выглядит следующим образом:недвижимости не существует на TYPEOF app.module типа

import { ActionReducer, Action } from "@ngrx/store"; 
import { ActionType } from "./action-type"; 
import { PurchaseModel } from "../purchase/purchase.model"; 

export const currentPurchase: ActionReducer<PurchaseModel> = (state:PurchaseModel = new PurchaseModel(), action:Action) => { 

    switch (action.type) { 

     case ActionType.SET_PURCHASE: 
      return (action.payload !== null) ? action.payload : new PurchaseModel(); 
     case ActionType.UPDATE_PURCHASE: 
      return Object.assign({}, state, action.payload); 
     default: 
      return state; 
    } 
}; 

также:

enter image description here

Любая помощь приветствуется.

+1

Правильно ли указано импортное заявление в отношении текущей покупки? Эта ошибка обычно отображается, когда импорт отсутствует/неверен. – KwintenP

+0

Спасибо - я пробовал это, к сожалению, такую ​​же ошибку. – nottinhill

ответ

1

Для вашей второй ошибки, вам необходимо установить ES6 тонкие прокладки типа, как описано здесь: https://github.com/angular/angular/issues/7033#issuecomment-183249303

Вы можете сделать это с типами в вашем пакете JSON, а также с помощью:

npm i @types/es6-shim -S 
+0

Я установил это, но WebStorm все еще показывает ошибку (даже после перезагрузки) – nottinhill

+1

Был ли каталог добавлен в @types в node_modules? Https: //www.dropbox.com/s/q8jwwr9o2wwbuzo/Screenshot%202016-10-10 % 2019.34.21.png? Dl = 0 – KwintenP

+0

Да - http://imgur.com/a/4ruJH – nottinhill

1

использования нетипированный function вместо типизированных const в редукторах, например как:

В противном случае с NG2 финала АОТ:

export const settings: ActionReducer<SettingsModel> = (state:SettingsModel = new SettingsModel(), action:Action) => { 

    switch (action.type) { 
     case ActionType.SET_SETTINGS: 
      return (action.payload !== null) ? action.payload : new SettingsModel(); 
     case ActionType.UPDATE_SETTINGS: 
      console.log(Object.assign(state, {pin: Object.assign(state.pin, action.payload.pin)})); 
      return Object.assign({}, state, {pin: Object.assign(state.pin, action.payload.pin)}); 
     default: 
      return state; 
    } 
}; 

Работа с NG2-финале АОТ:

export function settings (state:SettingsModel = new SettingsModel(), action:Action) { 

    switch (action.type) { 
     case ActionType.SET_SETTINGS: 
      return (action.payload !== null) ? action.payload : new SettingsModel(); 
     case ActionType.UPDATE_SETTINGS: 
      console.log(Object.assign(state, {pin: Object.assign(state.pin, action.payload.pin)})); 
      return Object.assign({}, state, {pin: Object.assign(state.pin, action.payload.pin)}); 
     default: 
      return state; 
    } 
}; 

Подробнее об этом (он не будет говорить, почему): https://github.com/ngrx/store/issues/190

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