已记录但未触发的操作
Posted
技术标签:
【中文标题】已记录但未触发的操作【英文标题】:Action logged but not triggered 【发布时间】:2019-01-06 18:22:39 【问题描述】:我有一个模块,其中包含一个分派 FETCH 操作的组件,该组件从 API 获取数据,然后分派一个 RECEIVED 操作。 它运行良好。
然后我将模型、动作和状态复制到另一个模块和组件(具有不同的获取和接收),但它不起作用。记录器将操作显示为已调度,但代码未执行。
documents.action.ts
export class FetchFolders
static readonly type = '[Documents] Fetch folders';
constructor(public payload: string)
documents.state.ts
@Action(FetchFolders)
FetchFolders(state: StateContext<DocumentStateModel>, payload : FetchFolders)
console.log('inside');
return this.http.get(`assets/fake-data/$payload/documents.json`)
.pipe(
tap(result => this.store.dispatch(new ReceiveFolders(<DocumentFolder[]>result)))
);
我已将代码减少到最少,以检查一切是否正常。还检查了导入(有时我从错误的库中导入)但仍然没有运气。
知道发生了什么吗?
【问题讨论】:
【参考方案1】:所以我缺少的是向模块声明它
@NgModule(
imports: [
CommonModule,
MenuModule,
FormModule,
RouterModule,
NgxsModule.forFeature([DocumentState])
],
declarations: [DocumentListComponent, DocumentsComponent],
exports: [DocumentsComponent]
)
export class DocumentModule
【讨论】:
出于某种原因,我已经在 app.module.ts 中有这个。只在第一次触发时触发,刷新页面并不会触发动作,很诡异以上是关于已记录但未触发的操作的主要内容,如果未能解决你的问题,请参考以下文章
检测到 WatchOS 7.1 WKLongPressGesture,显示警报,但未触发操作关闭