是否可以在两个angularjs应用程序之间共享数据?

时间:2013-04-30 13:48:34

标签: angularjs

我在同一页面上有两个不同的应用程序。

我可以通过服务(或任何其他方式)在这两个应用之间共享数据吗?

或者这不可能吗?

(我怀疑这是不可能的,虽然有规律的角度机制) - 但我认为仍然值得问......

这可以使用window变量来完成 - 但我想避免这样做。

谢谢!

1 个答案:

答案 0 :(得分:17)

我最终以下列方式解决了这个问题:

angular.module('sharedService', []).factory('SharedService', function() {

  var SharedService;

  SharedService = (function() {

    function SharedService() {
      /* method code... */
    }

    SharedService.prototype.setData = function(name, data) {
      /* method code... */
    };
    return SharedService;

  })();

  if (typeof(window.angularSharedService) === 'undefined' || window.angularSharedService === null) {
    window.angularSharedService = new SharedService();
  }
  return window.angularSharedService;});
  /* now you can share the service data between two apps */
  angular.module("app1", ['sharedService'])
    /* module code */
  angular.module("app2", ['sharedService'])
    /* module code */

我不得不承认这个解决方案并不理想 - 但这是我发现这个问题最干净的解决方案。