angularjs - 如何在不同模块中的两个 Controller 之间共享服务

标签 angularjs angularjs-scope controllers

我需要在两个 Controller 之间移动。 Controller 位于不同的模块中。 我如何在他们之间共享服务?

例子:

var app1 = angular.module('Module1', []);

app1.controller('FirstController', function ($scope,mutualService) {

//Doing things
});

var app2 = angular.module('Module2', []);

app2.controller('SecondController', function ($scope,mutualService) {

//Doing things
});

现在我也创建了一个服务,但我不知道如何正确编写它。

{???}.service('mutualService', function() {

    this.myObject = new MyObject();
});

我不知道要在 {???}.service 中放置什么。 我不能放置 app1 或 app2,因为其他两个不知道吗? 我错了吗?

最佳答案

是的,你可以。您只需将服务模块设置为对两个 Controller 模块的依赖。

首先:

var serviceModule = angular.module('ServiceModule', []);
serviceModule.service('MutualService', function() {

    this.myObject = new MyObject();
});

然后:

var app2 = angular.module('Module2', ['ServiceModule']);

关于angularjs - 如何在不同模块中的两个 Controller 之间共享服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28738349/

相关文章:

javascript - 带有提交输入的 AngularJS ajax 表单提交

iphone - self.view.backgroundColor = [UIColor greenColor];在推送 View 中不起作用

javascript - 关闭 Bootstrap UI 模态窗口时 'reason' 参数的可能值是多少?

javascript - 如何根据条件 append 指令

javascript - AngularJS指令不渲染

javascript - 如何使用 Angular 表达式值作为 html 元素的属性

javascript - 不需要输入时制作和 Angular 形式无效

angularjs - Angular $ routeProvider和 Controller 作为语法

php - 禅德 : Execute something before a controller is executed

javascript - 如何在 javascript 中调用 Controller 而不是 html Angular JS