我正在研究 angular 8。
taskList组件以@Input().tasklist数组。这是相同的效果 @Effect()
DeleteTask$: Observable<Action> = this.actions$.pipe(
ofType(importActions.DELETE_TASK),
switchMap(params =>
this.globalService
.deleteTask(params)
.mergeMap(deleteSuccess => {
return from([
new importActions.DeleteTaskSuccess(deleteSuccess),
new importActions.LoadTaskList(),
]);
})
.catch((error, caught) => {
return Observable.of(new GlobalError(error));
}),
),
);
Run Code Online (Sandbox Code Playgroud)
我的问题是当我在第一页加载时排序功能工作正常。但是,如果我删除一行然后在删除后获取任务列表,则会出现以下错误:
ERROR Error: Uncaught (in promise): TypeError: Cannot assign to read only property '0' of object '[object Array]'
TypeError: Cannot assign to read only property '0' of object '[object Array]'
Run Code Online (Sandbox Code Playgroud)
根据错误消息,我的代码中的以下函数给出了错误
ERROR Error: Uncaught (in …Run Code Online (Sandbox Code Playgroud) 我知道问题的标题含糊不清,但不幸的是我不完全知道是什么导致了我的问题,所以请耐心等待。
我刚刚开始处理一个小的 Angular 8 任务,它也使用 NgRx/Store 和 NgRx/Effects。我正在Book使用getBooks函数获取一组对象。我的代码如下(没有把输入端口放在任何地方只是为了使代码部分更短)
book.component.ts
export class BookComponent {
constructor(private booksService: BooksService, public store: Store<BooksState>) {
this.books$ = store.pipe(select('books'));
}
books$: Observable<BooksState>;
BooksSubscription: Subscription;
booksList: Book[];
ngOnInit() {
this.BooksSubscription = this.books$
.pipe( map(x => { this.booksList = x.Books; }) ).subscribe();
this.store.dispatch(BooksActions.BeginGetBooksAction())
}
}
Run Code Online (Sandbox Code Playgroud)
书.service.ts
import { Injectable } from '@angular/core';
import booksData from "../../books.json";
@Injectable()
export class BooksService {
constructor() { }
getBooks(){
return booksData;
}
}
Run Code Online (Sandbox Code Playgroud)
booksData是Book我从json …
我正在NgRx我的新 Angular 8 项目中使用该库。我被告知他们使用createActionie创建操作NgRx 8,但他们使用NgRx 7. 我接到了一项任务,其中我使用了NgRx 8我的减速器,现在我必须将其更改为NgRx 7。我的动作和减速器如下:
书本.actions.ts
import { createAction, props } from "@ngrx/store";
import { Book } from "./book";
export const BeginGetBooksAction = createAction("BeginGetBooks");
export const SuccessGetBooksAction = createAction(
"SuccessGetBooks",
props<{ payload: Book[] }>()
);
export const BeginAddBookAction = createAction(
"BeginAddBook",
props<{ payload: Book }>()
);
export const SuccessAddBookAction = createAction(
"SuccessAddBook",
props<{ payload: Book[] }>()
);
Run Code Online (Sandbox Code Playgroud)
书本.reducer.ts
import { Action, createReducer, on } …Run Code Online (Sandbox Code Playgroud)