Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Angular 5+;_Angular - Fatal编程技术网

如何在Angular 5+;

如何在Angular 5+;,angular,Angular,我不熟悉这一点,并且正在考虑传递一个对象集合,我计划在客户端持久化该对象集合,并在路由之间共享,发布导航。如果我希望“服务”状态在路线导航中持续存在,那么我希望能得到一些帮助来理解我遗漏了什么 我已经看到,甚至AppModule的构造函数在每次路由导航后都会被触发,所以我想知道,本地存储或将数据持久化到服务器是否是唯一的答案?本地存储和持久化到服务器是选项;许多应用程序(尤其是大型应用程序)将使用的常见模式是类似于flux或redux的实现 简而言之,flux/redux类型的实现提供了一个单一

我不熟悉这一点,并且正在考虑传递一个对象集合,我计划在客户端持久化该对象集合,并在路由之间共享,发布导航。如果我希望“服务”状态在路线导航中持续存在,那么我希望能得到一些帮助来理解我遗漏了什么


我已经看到,甚至AppModule的构造函数在每次路由导航后都会被触发,所以我想知道,本地存储或将数据持久化到服务器是否是唯一的答案?

本地存储和持久化到服务器是选项;许多应用程序(尤其是大型应用程序)将使用的常见模式是类似于flux或redux的实现

简而言之,flux/redux类型的实现提供了一个单一的数据存储,您的任何组件都可以使用它,而无需重新加载单页应用程序(Angular、React等)或在组件之间传递大量数据

使用您的示例,这将是对象集合示例的过程

  • 应用程序引导
  • 应用程序从服务器检索初始数据(状态)
  • 应用程序将状态存储在全局对象中
  • 实例化组件时,它从全局对象检索状态
  • 由于状态位于一个位置(在全局对象上),因此影响该全局对象的任何操作都将反映在使用该状态片段的任何组件中

    这是一幅关于redux/flux所包含的所有内容的非常不完整的图片,但是如果您只想手动滚动其中的持久性部分,您可以将对象集合添加到DOM窗口中,如下所示:

    window.state = {};
    window.state.collection = [{obj1}, {obj2}, {obj3}]
    
    
    component.state.collection = window.state.collection;
    component.state.collection.push({obj4});
    
    关于flux的更多信息,互联网上有大量关于它的详细信息。具体的实现(“redux”)可以在这里找到。这里有一个特定于角度的redux实现: