有没有办法使用事件pub / sub扩展Angular Service,Factory或Provider返回的对象?
我想做点什么:
angular.module('app').factory('user', function(Event){
var user = {
// User methods...
};
return angular.extend(user, Event);
})
// In a distant time and place...
angular.module('app').directive('nav', function(user){
scope: true,
templateUrl: 'something',
link: function(scope){
user.on('logIn', function(user){
scope.user = user
})
}
})
我完成了与承诺相似的事情。这通常是从服务异步通信的好方法,但是用户可以注销并进入,并且承诺仅解析一次。事件更适合这里。
我也理解我可以通过$rootScope
上的广播/发射和scope
的聆听来解决这个问题,但我觉得这很臭。 :)
你们想出什么样的模式在服务之间进行调解?
答案 0 :(得分:0)
答案 1 :(得分:0)
我在看同样的问题。特别是如何允许服务在不访问$ rootScope的情况下广播和订阅事件(由于某些原因而不好)。 我从这里使用了非常优秀的js-signals实现: http://millermedeiros.github.io/js-signals/ 并把它包裹成一个有角度的服务。
github要点:https://gist.github.com/anonymous/b552c7fafa77427e6d06