14

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

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

或者这是不可能的?

(我怀疑这是不可能通过常规角度机制实现的) - 但我认为仍然值得问......

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

谢谢!

4

1 回答 1

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 */

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

于 2013-04-30T18:55:19.103 回答