我想这可以共享/自动同步数据,以2个或更多个控制器像本实施例中的一个服务:角AJAX服务
app.js(来自实施例)
var myApp = angular.module('myApp', []);
myApp.factory('Data', function(){
return { FirstName: '' };
});
myApp.controller('FirstCtrl', function($scope, Data){
$scope.Data = Data;
});
myApp.controller('SecondCtrl', function($scope, Data){
$scope.Data = Data;
});
此外我需要用ajax加载数据。我尝试了一下,但对于Ajax我需要承诺(所以控制器不会得到改变后的数据),而不是与共享对象,如小提琴链接工作。如果可能的话,我想要一个没有事件的解决方案(rootscope broadcast)。
我该如何将两种技术结合使用?你们知道我的意思吗? :)
您可以在工厂创建一个返回承诺的方法。然后在两个控制器中使用'Data.asyncMethod(param1,param2).then(..)'。 –
我的控制器的代码是这样的: 'Data.getBlub(),然后(功能(响应){ \t $ scope.data =响应; });' 但是,如果其他的控制器改变数据,所述第一。一个不会收回新的数据。 – Chris