因此,根据评论,你确实需要的是在继续按钮onclick之间共享两个控制器(即全球和myCtrl)之间的数据。您可以通过多种方式来执行相同的操作。
建立维护你的共享对象和控制器只处理引用的服务。请注意在这种情况下,它将工作,直到你不会手动刷新你的页面,根据理想情况。如果您的数据不是更重,而且您需要在所有页面上维护数据,则可以将其存储在本地存储中。
Here is the demo http://plnkr.co/edit/rrFTmtnYjYNjyE8twUif
您可以通过使用服务& $范围。$腕表方法做同样的事情。我宁愿你不要使用$ watch来代替这个。而是分配和观看整个服务,你只需要使用setter/getter来访问和共享数据。
Here is the demo http://plnkr.co/edit/N2qIMRyDj2SX2BdBleU4
是的,你也可以用NG-模型使用范围的$ parent属性。当然,还有几种方法,你可以做同样的事情:假设你的HTML像下面
<div ng-controller="ParentCtrl">
<div ng-controller="ChildCtrl"></div>
</div>
然后你就可以访问你的父母范围这样
function ParentCtrl($scope) {
$scope.cities = ["NY", "Amsterdam", "Barcelona"];
}
function ChildCtrl($scope) {
$scope.parentcities = $scope.$parent.cities;
}
其实自从你定义城市在父控制器中,您的子控制器将继承所有范围变量。所以在理论上你不必打电话给$家长。
function ParentCtrl($scope) {
$scope.cities = ["NY","Amsterdam","Barcelona"];
}
function ChildCtrl($scope) {
$scope.parentCities = $scope.cities;
}
的Angular Docs使用这种方法:上面的例子中,也可以如下写入。
<消息中的重复数据> {{data.Type} } {{data.Number}} <按钮类型= “按钮” NG单击= “selectAccount(accountValue)” 类= “BTTN文本”>继续 JS: myApp.controller('myCtrl ”,[ '$范围',函数($范围){ \t \t \t $ scope.selectAccount =函数(ID){ \t \t alert(id); \t \t \t }]); – Satheesh87