有没有办法在 AngularJs 中的两个网页之间共享一个对象而不使用 $cookies
Is there any way to share one object between two web pages in AngularJs without using $cookies
在 AngularJs 中,有什么方法可以在不使用 $cookies 的情况下在两个网页之间共享对象。例如,我的登录页面控制器有不同的 angular.module 而我的其他控制器有不同的 angular.module 但我需要在不使用 $cookies 的情况下在登录页面和另一个页面之间共享凭据。
独立页之间
您可以使用 standard HTML5 sessionStorage 和 localStorage 对象
For simple synchronous storage access HTML 5 introduces the localStorage attribute on the Window object:
localStorage["status"] = "Idling.";
LocalStorage 就像 cookie,关闭浏览器时 sessionStorage 会很干净。
在angular
您可以使用技术上属于单例的工厂。但是如果你刷新你的页面,所有的 JS 将被重新初始化并且你将丢失你的数据。服务也是可能的。
这里是关于另一个主题的 link,解释了服务和工厂之间的区别:AngularJS: Service vs provider vs factory
要创建Services/Factory,看看Angular official documentation,解释得很好。
完美组合
您需要做的是创建一个服务,并在每次修改时将其字符串化以存储在 local/session 存储中。在加载时,当 angular 创建您的服务时,您在存储中查找初始化值,然后您的对象又回来了。
例如,这对于身份验证很常见。您存储令牌以在刷新时保持身份验证;)。如果实施起来有任何困难,请告诉我。
您是否考虑过创建一个存储这些登录凭据的服务?然后,您可以使用依赖注入使该服务在两个控制器中都可用。
在不同页面之间共享信息是一项关键任务,可以在控制器的帮助下完成。
在AngularJS中,我们可以通过三种方式在控制器之间共享数据:
工厂:对象在工厂内部创建,return它。
服务:通过服务,您只需要一个标准函数,它使用 this 关键字来定义函数。
Provider:对于provider,有一个你定义的$get,它可以用来获取return数据的对象。
在 AngularJs 中,有什么方法可以在不使用 $cookies 的情况下在两个网页之间共享对象。例如,我的登录页面控制器有不同的 angular.module 而我的其他控制器有不同的 angular.module 但我需要在不使用 $cookies 的情况下在登录页面和另一个页面之间共享凭据。
独立页之间
您可以使用 standard HTML5 sessionStorage 和 localStorage 对象
For simple synchronous storage access HTML 5 introduces the localStorage attribute on the Window object: localStorage["status"] = "Idling.";
LocalStorage 就像 cookie,关闭浏览器时 sessionStorage 会很干净。
在angular
您可以使用技术上属于单例的工厂。但是如果你刷新你的页面,所有的 JS 将被重新初始化并且你将丢失你的数据。服务也是可能的。
这里是关于另一个主题的 link,解释了服务和工厂之间的区别:AngularJS: Service vs provider vs factory
要创建Services/Factory,看看Angular official documentation,解释得很好。
完美组合
您需要做的是创建一个服务,并在每次修改时将其字符串化以存储在 local/session 存储中。在加载时,当 angular 创建您的服务时,您在存储中查找初始化值,然后您的对象又回来了。
例如,这对于身份验证很常见。您存储令牌以在刷新时保持身份验证;)。如果实施起来有任何困难,请告诉我。
您是否考虑过创建一个存储这些登录凭据的服务?然后,您可以使用依赖注入使该服务在两个控制器中都可用。
在不同页面之间共享信息是一项关键任务,可以在控制器的帮助下完成。
在AngularJS中,我们可以通过三种方式在控制器之间共享数据:
工厂:对象在工厂内部创建,return它。 服务:通过服务,您只需要一个标准函数,它使用 this 关键字来定义函数。 Provider:对于provider,有一个你定义的$get,它可以用来获取return数据的对象。