gpt4 book ai didi

json - 如何通过AngularJS路由保存数据?

转载 作者:行者123 更新时间:2023-12-03 20:31:00 24 4
gpt4 key购买 nike

我是 AngularJS 的新手,正在尝试为自己构建一个简单的小应用程序。我有使用 $resource 获取的应用程序的 JSON 数据,并且此数据在多个 View / route 应该相同。但是,当我转到新路线时,JSON 数据(存储为 $scope.data )不再可用于新 View 。我该怎么做才能将此数据传递给新 View 而不需要再次获取? (教程电话目录应用程序每次都会根据我所知重新获取此数据。)

据我了解,$rootScope可以做到这一点,但似乎普遍不赞成。如果这没有多大意义,我深表歉意;我在这里非常深入。

最佳答案

使用服务来存储数据。将该服务注入(inject)需要访问此数据的每个 Controller 。每次创建和执行 Controller 时(因为您切换到另一个 View /路由),它都可以向服务请求数据。如果服务还没有数据,它可以向服务器发出请求并向 Controller 返回一个 promise (参见下文了解如何执行此操作)。如果服务有数据,它可以立即将数据返回给 Controller 。

另见 Processing $http response in service

请注意,服务是单例的,与 Controller 不同。

另一种变体:当服务创建时,它可以自己获取数据,然后存储以供以后使用。 Controller 可以比 $watch 服务上的属性或功能。有关此方法的示例,请参阅 How do I store a current user context in Angular?

关于json - 如何通过AngularJS路由保存数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14824901/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com