在AngularJs中的控制器之间传递数据

时间:2015-04-13 21:58:38

标签: angularjs

参考以下文章中的第5点: http://www.technofattie.com/2014/03/21/five-guidelines-for-avoiding-scope-soup-in-angular.html

作者在父控制器和子控制器中都使用了一个对象sharedDataService。

//Do this instead
var Parent = function(sharedDataService){
  sharedDataService.updateName('foo');
};

var Child = function(messageService){
  sharedDataService.onNameChanged(this.nameChangedHandler);
};

让我们假设执行函数sharedDataService.updateName('foo')..如何触发

要执行的sharedDataService.onNameChanged(this.nameChangedHandler)?

messageService在这里扮演什么角色?

2 个答案:

答案 0 :(得分:0)

如果您只有一个字段,则可以使用$rootScope来跟踪变量。如果要在两个控制器之间传递数据,可以参考: http://onehungrymind.com/angularjs-communicating-between-controllers/ 我更喜欢这些方法。

答案 1 :(得分:0)

是的,你可以完全使用pub / sub模式。实际上,你可以写简单的"事件触发"注册具有特定事件名称的回调的服务,当触发事件时,将调用所有回调。

相关问题