Angular 1.x 中处理独立模块之间通信的最标准方式
Most standard way to handle communication between isolated modules in Angular 1.x
我正在开发一组共享一些通用功能的企业风格应用程序。这方面的一个例子是导航栏功能,如排序/面包屑等。通过创建多个模块来实现这一点似乎很简单。 I have an example plnkr of what I am talking about.
var appWrap = document.getElementById('app');
angular.element(appWrap).ready(function() {
angular.bootstrap(appWrap, ['plunker']);
});
var appWrap2 = document.getElementById('app2');
angular.element(appWrap2).ready(function() {
angular.bootstrap(appWrap2, ['plunker2']);
});
我的问题是,当我需要从 app 向 app2 发送一个值时,我该怎么做?我会创建某种 JS 侦听器吗?
我最后做的有点笨拙...
var appWrap = document.getElementById('app');
var appScope = angular.element(appWrap).scope();
console.log(appScope.property);
这是来自 app2 模块。您还可以观看和其他内容只需确保 $apply 因为您使用的是不同的应用程序!
我正在开发一组共享一些通用功能的企业风格应用程序。这方面的一个例子是导航栏功能,如排序/面包屑等。通过创建多个模块来实现这一点似乎很简单。 I have an example plnkr of what I am talking about.
var appWrap = document.getElementById('app');
angular.element(appWrap).ready(function() {
angular.bootstrap(appWrap, ['plunker']);
});
var appWrap2 = document.getElementById('app2');
angular.element(appWrap2).ready(function() {
angular.bootstrap(appWrap2, ['plunker2']);
});
我的问题是,当我需要从 app 向 app2 发送一个值时,我该怎么做?我会创建某种 JS 侦听器吗?
我最后做的有点笨拙...
var appWrap = document.getElementById('app');
var appScope = angular.element(appWrap).scope();
console.log(appScope.property);
这是来自 app2 模块。您还可以观看和其他内容只需确保 $apply 因为您使用的是不同的应用程序!