我们正在构建一个大型的 Angular 应用程序。我们已经大量使用指令、服务,并且拥有多达 14 个控制器。
我们的问题是在控制器之间共享数据。我们希望能够在相距较远的控制器(不是兄弟)之间共享数据,并且不会破坏双向绑定。
我建议使用专门用于传输数据的服务。
var MyApp = angular.module('MyApp', []);
MyApp.factory('dataContainer', function(){ return {} });
function FirstCtrl($scope, dataContainer) {
$scope.data = dataContainer;
}
function SecondCtrl($scope, dataContainer) {
$scope.data = dataContainer;
}
您可以在小提琴http://jsfiddle.net/didier_/R2Bgs/2/中尝试一下。
这是好习惯吗?