有人知道是否有机会从商店获得价值,然后致电AngularHTTP服务?请参见下面的示例。提前致谢。我有一个使用异步方法的服务。在此方法中,我调用AngularHTTP服务,但是在调用AngularHTTP服务之前,我想从商店(Oauth访问令牌)检索一些值。问题是我将Oauth令牌存储在商店中,我必须将令牌添加到请求中。如果服务器响应401错误,则我刷新令牌并重复请求或新令牌请求。@Injectable()exportclassInterceptor{publicget(request:Request):Observable{returnthis.store.select((s)=>s.ses
我正在学习redux模式并使用带Angular2的ngrx。我正在创建一个具有以下形状的示例博客网站。exportinterfaceBlogContent{id:string;header:string;tags:string[];title:string;actualContent:ActualContent[];}我的reducer和action如下:import{ActionReducer,Action}from'@ngrx/store';import*as_from'lodash';exportinterfaceActualContent{id:string;type:stri
我有一个微型应用程序,它在屏幕上显示一个点。这是一个简单的div,绑定(bind)到NgRx存储中的状态。点状态的变化由CSS转换动画。.dot{border-radius:50%;position:absolute;$moveTime:500ms;$sizeChangeTime:400ms;$colorChangeTime:900ms;transition:top$moveTime,left$moveTime,background-color$colorChangeTime,width$sizeChangeTime,height$sizeChangeTime;}我有一个后端推送点的更
redux的必要性是什么,因为我们还可以从服务中保存和获取数据,据我了解,我们还可以获取数据并将其保存到服务中,这些服务可以被其他组件使用。 最佳答案 您不需要redux,但您确实需要一种维护状态的方法。一个服务就可以了,但最后你会发送一些类似于redux或ngrxstore的东西。考虑挑战。您有异步传入的数据。你想要它react。你想要错误处理。您希望在数据更新时有等待状态。您有级联场景,其中一个事件触发多个操作,每个操作都有自己的延迟和错误路径。并且您想设置一个可以在多个组件中使用的模式。维克多·萨夫金(VictorSavkin
我有一个由Angular4,NGRX和AngularFire2构建的项目。我正在尝试检索当前登录的用户的UID,并将其放入我的商店中。任何想法或协助都将不胜感激。错误ERRORTypeError:Cannotreadproperty'map'ofundefinedatSwitchMapSubscriber.project(auth.effects.ts:22)效果代码@Effect()getAccountId$=this.actions$.ofType(ActionTypes.GET_ACCOUNT_ID).map(action=>//Thisisline22wheretheerrorisco
我有一个应用程序和笔记的应用程序。这些笔记使它们可以与许多人有关(例如Note1将出现在Person1和Person3)。我正在使用NGRX将我的状态保持在内存中。现在查看NGRX示例应用程序,您可以获得一本书的好示例。在那里,他们使用的状态保存着书籍索引的一系列对象(用于快速检索)。当收藏中的项目(在我的情况下)与许多人有关时,该怎么办?我首先将一系列对象与人的UID索引:exportinterfaceNoteCollection{[uid:string]:Note[];}考虑:随着时间的流逝,会有很多笔记,因此状态数据可能很大为每个引用的人创建一个注释对象,这似乎是一个相当糟糕的主意(
我使用的格式是{product._id:{product._id:string,product_name:string},product._id:{product._id:string,product_name:string}}保存我商店的产品信息一切正常,加载时我设置了它:functionhandleBlogsLoadedAction(state,action){constreturnedBlogs=action.payloadconstblogObj=returnedBlogs.reduce((blogs:{[id:string]:Blog},blog:Blog)=>{return
如何从NGRX商店不使用reselectcreateSelector和store.select其中的方法例子?exportconstgetBookCollection=createSelector(getBookEntities,getCollectionBookIds,(entities,ids)=>{returnids.map(id=>entities[id]);});constructor(store:Store){this.books$=store.select(fromRoot.getBookCollection);}看答案仅使用商店。选择您可以做:exportconstgetBoo
我们可以使用MetaReducer即高阶Reducer的概念。下面是一个典型的例子:LoggerMetaReducer.该高阶Reducer在真实的归约器执行之前添加一些日志消息:exportfunctionlogger(reducer:ActionReducer):ActionReducer{return(state:AppState,action:any):AppState=>{console.log('state',state);console.log('action',action);returnreducer(state,action);};}logger的输入是一个reducer,
Angular应用程序需要管理一些应用程序状态,包括服务器端数据、用户信息、用户输入、UI状态和许多其他变量。开发人员经常利用可注入服务(InjectableService)在一个集中的地方提供此功能(包括与一些后端WebAPI的通信),以便应用程序中的其余组件可以访问此共享数据以对其进行处理或更新。、这种做法仅仅适用于小型应用程序。在某些情况下,随着应用程序规模的增长以及多个组件开始发出调用以更新或读取应用程序状态,这种实现变得不可扩展。应用程序状态也可能变得不一致或不可靠。这就是我们为何要引入NgrxStore.应用程序状态是一组数据片段(dataslice)的集合,表示应用程序在任何给定