我需要一些指导,以便在AngularJS中为我的任务采取最佳实践。
任务:
我对这种方法的最佳解决方案感到困惑。
答案 0 :(得分:6)
答案 1 :(得分:2)
有很多不同的方法可以实现这一目标。
使用$ rootScope不是一个好方法,因为关闭应用程序时会销毁$ rootScope变量。
在需要之前,我也不会推荐使用broadCast或发射。
服务,适用于通信黑白控制器,但您再次注入并修改方法。
在您的场景中,我建议使用公共$ scope对象变量,该变量在父控件中声明并在子控制器中使用,因为所有方法都在子控制器中继承。
答案 2 :(得分:0)
在控制器之间共享数据有三种常用方法:
1将数据投入使用或出厂。由于它们是单例,因此注入相同服务的任何控制器都可以共享该服务中的数据
2将数据放入$rootScope
3使用$broadcast
或$emit
在范围之间发送事件,并将共享数据作为事件参数传递
答案 3 :(得分:0)
以上答案很有用,但以下是从子作用域更新父控制器中的$scope
对象的简单方法,如下所示。
在子控制器中,$scope.$parent.parentObject = updatedObject
希望有帮助!