我试图从子控制器访问/修改父控制器中的某个变量。这个变量是一个承诺(某个$http请求),所以当我在子控制器中呈现元素时,这个变量仍然不存在。
我意识到使用ng-if可以帮助我解决这个问题。但是两个范围不能通信。我的问题是:
1.如何在2作用域中双向绑定变量?这是正确的方法吗?
1.有什么方法可以不使用ng-if吗?我有2-3个promise变量,我不想在一个元素中使用多个ng-if语句。这可能吗?
http://jsbin.com/rahidukuvi/1/edit
我试图从子控制器访问/修改父控制器中的某个变量。这个变量是一个承诺(某个$http请求),所以当我在子控制器中呈现元素时,这个变量仍然不存在。
我意识到使用ng-if可以帮助我解决这个问题。但是两个范围不能通信。我的问题是:
1.如何在2作用域中双向绑定变量?这是正确的方法吗?
1.有什么方法可以不使用ng-if吗?我有2-3个promise变量,我不想在一个元素中使用多个ng-if语句。这可能吗?
http://jsbin.com/rahidukuvi/1/edit
3条答案
按热度按时间siotufzp1#
最佳实践是创建一个可以在控制器之间共享的服务(使用单例模式)。
webghufk2#
最简单的方法是在子控制器中使用$scope.$watch来等待父控制器中 AJAX 回调时的任何变量值更改。在子控制器中的$scope.$watch回调中,您可以根据需要更改变量值。
hc2pp10m3#
你可以使用广播让子控制器知道值改变了。然后你可以在子控制器中监听并做必要的事情。参见下面的示例代码