我需要知道如何在不同模块中的两个控制器之间同步数据。下面是我正在使用的代码。我尝试使用带有观察者模式的服务。但似乎注入两个应用程序的服务实例是完全不同的
int
上的HTML
答案 0 :(得分:4)
您正在创建2个完全独立的角度应用。这就是你获得2个实例的原因。你想要1个带有3个模块的应用程序。
首先从angular.bootstrap(document.getElementById("app2"), ['app2']);
取出index.html
。你正在那里引导第二个应用程序。不是你想要的。
接下来,将ng-app="app1"
移动到包含两个控制器的元素,例如body
元素。
此外,在index.html
将{{myCounty}}
更改为{{MyCounty}}
。案件很重要。
最后在app.js
将angular.module('app1',['app1','app3'])
更改为angular.module('app1',['app2','app3'])
。我认为这首先是你的意思。
另外,请在问题中发布您的index.html内容。那里有很多问题。这样,如果您的链接在某个时刻死亡,这个问题可能仍然对其他有类似问题的人有所帮助。
这是一个有效的Plunk。
答案 1 :(得分:-3)
这是一个演示/示例,显示了在两个不同角度模块之间共享数据的方法:您应该修改代码并根据您的需要/用途使用:
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');
}
});
谢谢&干杯: - )