【问题标题】:how to share a scope variable with ng-app's in AngularJS如何在 AngularJS 中与 ng-app 共享范围变量
【发布时间】:2015-04-27 09:32:45
【问题描述】:

我在同一页面上运行了两个不同的 ng-app。

  1. bookingApp
  2. 日历应用

我想将选定的日期范围变量从 calendarApp 共享到 bookingApp。 我怎样才能实现这个功能?

谢谢, 角斗士

【问题讨论】:

  • 你要说 Angular 模块还是ng-apps?
  • 明确提到了 ng-apps

标签: javascript angularjs angularjs-scope angularjs-ng-model


【解决方案1】:

你必须使用angularjs服务来达到这个目的。希望下面的实现能帮助你得到一些理解

angular.module('app.A', [])
.service('ServiceA', function() {
    this.getValue = function() {
        return this.myValue;
    };

    this.setValue = function(newValue) {
        this.myValue = newValue;
    }
});

angular.module('app.B', ['app.A'])
.service('ServiceB', function(ServiceA) {
    this.getValue = function() {
        return ServiceA.getValue();
    };

    this.setValue = function() {
        ServiceA.setValue('New value');
    }
});

【讨论】:

  • 嗨,开发者,当我从 app.B 访问共享变量时,我得到空值
  • 您是否正确注入服务??你能分享你的代码吗
【解决方案2】:

您可以通过Window postMessage 和/或localStorage 在Angular 应用程序之间共享数据。

只需将 postMessave 包装到 Angular 服务中并在发布事件上传播更改。

【讨论】:

    猜你喜欢
    • 2016-12-24
    • 1970-01-01
    • 1970-01-01
    • 2014-01-12
    • 1970-01-01
    • 2014-12-12
    • 2014-04-27
    • 2016-09-07
    • 1970-01-01
    相关资源
    最近更新 更多