나는이 Angular 2 app을 사용할 수 있습니다. 나는 @ ngrx/store를 app에 추가하려고하는데, 제대로 작동하지 않을 것 같다.@ ngrx/store가 제대로 작동하지 않습니다.
product.component.ts
import {Component, Input, ChangeDetectionStrategy} from "@angular/core";
import {ProductService} from "../index";
declare const module;
@Component({
selector: 'products',
moduleId: module.id,
providers: [ProductService],
templateUrl: '_products.component.html',
styleUrls: ['_products.component.css'],
changeDetection: ChangeDetectionStrategy.OnPush
})
export class _ProductsComponent {
products;
constructor(private productService: ProductService) {
this.products = this.productService.products$;
this.productService.loadProducts();
}
}
product.reducer.ts
import {ActionReducer, Action} from '@ngrx/store';
import {Product} from "./index";
export const products: ActionReducer<Product> = (state: any = {}, action:Action) => {
switch (action.type) {
case 'ADD_PRODUCTS':
return action.payload;
default:
return state;
}
}
프로 : 여기 내가 멀리에있을 것입니다 | {{제품 때문에
import {Injectable} from "@angular/core";
import {HttpService} from "../shared/services/http.service";
import {Store} from "@ngrx/store";
import {AppStore} from "../shared/store.interface";
@Injectable()
export class ProductService {
products$;
constructor(
private store: Store<AppStore>,
private httpService: HttpService) {
this.products$ = store.select('products');
}
loadProducts() {
return this.httpService.call('get', 'home')
.map(res => res.json())
.map(payload => ({ type: 'ADD_PRODUCTS', payload }))
.subscribe(action => this.store.dispatch(action))
}
}
<div class="grid_products">
{{products | async}} // shows: [object Object],[object Object],[object Object],[object Object]....
<product*ngFor="let product of products | async" [product]="product" class="grid_product alcenter"></product> // gives me errors
</div>
내가 거의 다 해요 같은 느낌 duct.service.ts 비동기}} 결과를 보여줍니다. * ngFor가 나에게주는 오류가 발생하지 않습니다.
원본 예외 : 'object'유형의 'object object'를 찾을 수 없습니다. NgFor는 배열과 같은 Iterable에 대한 바인딩 만 지원합니다.
나는 그것이 의미하는 바를 이해하고 있음을 의미하지만, 나는 이것을 얻지 못한다.
- http://onehungrymind.com/build-better-angular-2-application-redux-ngrx/
- Angular2 + ngrx/store for handling failure HTTP requests
- https://egghead.io/courses/building-a-time-machine-with-angular-2-and-rxjs는 가
는 불행히도, 거의 모든 오래된 : 나는 tutos 보여줍니다 정확히 가지고있는 것처럼 내가 ... 내가 사용했습니다
링크를 느낀다 (RC5 아님).
업데이트 : 나는 {{제품 | 비동기 | json}} 내 HTML 파일에서 모든 데이터를 가져옵니다. 그래서 작동 중입니다. * ngFor로이 오류가 발생하는 이유는 알 수 없습니다.
는 공간을 누락하는'당신이 바로 덕분에 – cartant
productof products'을 할 수 있습니다. 질문을하는 동안 그것은 실수입니다. – Tom
다음과 같이 간단한 것으로 테스트하면 어떻게됩니까? '
- {{product | json}}
'? – cartant