Javascript 如何从同一子控制器的多个实例访问数据?

Javascript 如何从同一子控制器的多个实例访问数据?,javascript,angularjs,controller,Javascript,Angularjs,Controller,我有两种类型的控制器: 第一种类型的控制器在html页面上只出现一次(“SingleChildController”) 第二种类型的控制器在同一页上出现两次(“MultipleChildController”),并根据其属性“instance”的值进行区分 这两个都嵌套在my ParentController中(请参见下面的代码) 如何从ParentController中的3个子控制器实例中的任意一个访问数据? 我曾尝试添加两个服务,一个用于SingleChildController,另一个

我有两种类型的控制器:

  • 第一种类型的控制器在html页面上只出现一次(“SingleChildController”)
  • 第二种类型的控制器在同一页上出现两次(“MultipleChildController”),并根据其属性“instance”的值进行区分
这两个都嵌套在my ParentController中(请参见下面的代码)

如何从ParentController中的3个子控制器实例中的任意一个访问数据?

我曾尝试添加两个服务,一个用于SingleChildController,另一个用于MultipleChildController,但这样做似乎是在复制大量代码。在我的实际代码中尤其如此,其中每个控制器都有许多要监视的属性。有没有更好的方法来实现这一点

编辑:为了进一步澄清,此视图用于表单,我希望将所有数据备份到ParentController中,以便提交表单

(函数(){
var-app=angular.module('myApp',[]);
app.controller('ParentController',['$scope',
职能($范围){
var parent=此;
parent.singleName=“”;
parent.multiple1Name=“”;
parent.multiple2Name=“”;
}
]);
app.controller('SingleChildController',['$scope',
职能($范围){
var single=此;
single.name=“”;
}
]);
app.controller('MultipleChildController',['$scope',
职能($范围){
var multiple=此;
multiple.instance=“”;
multiple.name=“”;
}
]);
})();

ParentSingleName:{{parent.singleName}}
ParentMultiple1Name:{{parent.multiple1Name}}
ParentMultiple2Name:{{parent.multiple2Name}}

:{{single.name} :{multiple1.instance}-{{multiple1.name} :{{multiple2.instance}-{{multiple2.name}
为什么需要获取子数据?可以使用观察者模式创建工厂。使用不同值的getter/setter,一种register方法,可以按值注册,并在某个值更改时通知正确的注册侦听器。@PetrAveryanov我需要获取子数据,因为我需要将数据作为表单的一部分提交。然后,您应该将所有数据都放在父级中。这很好。(您理解,如果您以儿童指令结尾,您将拥有smth,如:等)