Javascript 如何使用相同的数据到另一个页面而不调用服务?
我需要在我的项目上使用click事件将包含更多信息的相同数据传递到另一个页面 我试着把班上的父亲延伸到孩子身上,但是太慢了,因为这个班叫了很多次 该应用程序是一个仪表板,带有以模板html导入的外部小部件,每个小部件都需要使用相同的数据Javascript 如何使用相同的数据到另一个页面而不调用服务?,javascript,angular,typescript,Javascript,Angular,Typescript,我需要在我的项目上使用click事件将包含更多信息的相同数据传递到另一个页面 我试着把班上的父亲延伸到孩子身上,但是太慢了,因为这个班叫了很多次 该应用程序是一个仪表板,带有以模板html导入的外部小部件,每个小部件都需要使用相同的数据 我考虑使用一个包含所有后端调用的容器,例如使用模块,但没有成功。。有什么建议吗?我建议您使用ngrx/ngxs之类的工具。 这将允许您拥有一个全局状态,您可以在应用程序的每个位置访问该状态,以便轻松共享该状态。我建议您只使用ngrx/ngxs之类的工具。 这将允
我考虑使用一个包含所有后端调用的容器,例如使用模块,但没有成功。。有什么建议吗?我建议您使用ngrx/ngxs之类的工具。
这将允许您拥有一个全局状态,您可以在应用程序的每个位置访问该状态,以便轻松共享该状态。我建议您只使用ngrx/ngxs之类的工具。
这将允许您拥有一个全局状态,您可以在应用程序的每个位置访问该状态,以便轻松共享状态。服务通常是组件在应用程序中交换数据的方式。但如果组件具有父子关系,则可以使用
@input()
。
请参见服务通常是组件以角度交换数据的方式。但如果组件具有父子关系,则可以使用
@input()
。
参见Maryannah,假设您可以构建“缓存”。 正常服务中的函数类似于
getData()
{
return httpClient.get(....);
}
您可以使用变量来存储httpClient的结果
data:any[]
getData()
{
if (!data)
return httpClient.get(....).pipe(tap(result=>{
this.data=result;
}))
return of(this.data)
}
因此,当您第一次向服务器订阅服务调用时,另一次,您收到了一个可观察到的数据,并且已经读取了。Maryannah说,您可以构建一个“缓存”。 正常服务中的函数类似于
getData()
{
return httpClient.get(....);
}
您可以使用变量来存储httpClient的结果
data:any[]
getData()
{
if (!data)
return httpClient.get(....).pipe(tap(result=>{
this.data=result;
}))
return of(this.data)
}
因此,当您第一次订阅对服务器的服务调用时,另一次,您收到了一个尚未读取的可观察数据
Rx/js行为主题可以解决您的问题。角状物
实践建议您避免组件内部的任何逻辑
它与视图没有直接关系。你应该把这些都搬走
逻辑到服务。
行为主体持有需要与其他人共享的值
组件。这些组件订阅简单的数据
将不带功能的行为主体值返回到
更改值
Rx/js行为主题可以解决您的问题。角状物
实践建议您避免组件内部的任何逻辑
它与视图没有直接关系。你应该把这些都搬走
逻辑到服务。
行为主体持有需要与其他人共享的值
组件。这些组件订阅简单的数据
将不带功能的行为主体值返回到
更改值
我需要在每个组件中使用提供者吗?结构是:projejct.module->project-details.component(其中包含其他组件,因此它是一个容器)是的,这是提供程序的用途。在Angular中创建一个服务会创建一个单例,它充当状态保持器:通过在这个服务中放置变量,您可以使注入这个服务的任何组件都可以使用它们?我的提供者有函数和api,如果我在每个孩子中使用提供者,我是否调用提供者中包含的所有内容?或者我需要创建多个提供程序?在不了解您的需求的情况下,我无法回答这个问题,但大多数情况下,您只需调用一次,然后将其存储在变量中,然后在应用程序中使用此变量。我需要在每个组件中使用提供程序?结构是:projejct.module->project-details.component(其中包含其他组件,因此它是一个容器)是的,这是提供程序的用途。在Angular中创建一个服务会创建一个单例,它充当状态保持器:通过在这个服务中放置变量,您可以使注入这个服务的任何组件都可以使用它们?我的提供者有函数和api,如果我在每个孩子中使用提供者,我是否调用提供者中包含的所有内容?或者我需要创建多个提供者?如果不知道您的需要,我无法回答这个问题,但大多数情况下,您只需调用一次,然后将其存储在变量中,然后在应用程序中使用此变量。