14

同じページに 2 つの異なるアプリがあります。

これら 2 つのアプリ間でサービスを介して (または他の方法で) データを共有できますか?

それとも、これは不可能ですか?

(私の疑いでは、これは通常の角度メカニズムでは不可能であるということです)-しかし、それでも尋ねる価値があると思いました...

これは 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 に答える