[英]AngularJS promises and nested controllers
我有以下困境:
如果我有两个像这样的嵌套控制器:
Controller1
Controller2
在Controller1中,我有一个字段
someDataService.getMyUser().then(function(user){
$scope.user = user;
}
这是承诺的结果(对外部服务器的异步调用)。 到现在为止还挺好。 但是如何处理以下情况:
我需要在Controller2中使用
var userName = $scope.$parent.user.userName
当控制器被解雇时正确。 如何设置第二个控制器,以等待第一个控制器中的promise解析,然后才评估该var userName分配? (否则我会得到$ scope。$ parent是不确定的)
您不能调用$ scope。$ parent.user.userName而不是调用某个函数(例如$ scope。$ parent.get_user()),该函数调用someDataServive.getMyUser()并返回承诺吗?
或者,将someDataService注入Controller2并直接调用getMyUser()函数不是更好吗?
具有这样的依赖关系并不是很好,但是如果您需要在Controller2中调用一些初始化代码,则可以在加载对象时使用$ broadcast直接从Controller1运行Controller2的初始化代码来执行此操作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.