编程语言
首页 > 编程语言> > javascript-在Angular js中单击提交后,如何获取在单选按钮中选择的值的列表

javascript-在Angular js中单击提交后,如何获取在单选按钮中选择的值的列表

作者:互联网

这是HTML,此文件是部分文件,在主页中定义了全局控制器:message对象包含从首页加载的数据.

<ng-repeat data in message>
<input type="radio"  ng-model="accountValue"  value="{{data}}" name="select" />

{{data.Type}}
{{data.Number}}

继续

JS:

myApp.controller('myCtrl',['$scope',function ($scope) {
    $scope.selectAccount = function(id) {
        alert(id);
    }
}]);

我正在获取id为undefined.请帮忙.谢谢

解决方法:

因此,根据注释,您真正需要的是在单击继续按钮时在两个控制器(即Global和myCtrl)之间共享数据.您可以通过多种方式执行相同的操作.

构建维护共享对象的服务,控制器仅使用引用来处理.请注意,在这种情况下,它将起作用,直到您不会根据理想情况手动刷新页面为止.如果您的数据不是很繁重,并且需要在所有页面上进行维护,那么在这种情况下,您可以将其存储在本地存储中.

Here is the demo http://plnkr.co/edit/rrFTmtnYjYNjyE8twUif

您可以使用service&做同样的事情. $scope.$watch方法.我更喜欢您不要使用$watch来代替分配和监视整个服务,您只需要使用setter / getter来访问和共享数据即可.

Here is the demo http://plnkr.co/edit/N2qIMRyDj2SX2BdBleU4

是的,您还可以使用ng-model使用范围的$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;
}

实际上,由于您在父控制器中定义了城市,因此子控制器将继承所有范围变量.因此,从理论上讲,您不必致电$parent.上面的示例也可以编写如下:

function ParentCtrl($scope) {
$scope.cities = ["NY","Amsterdam","Barcelona"];
}
function ChildCtrl($scope) {
$scope.parentCities = $scope.cities;
}

Angular Docs正在使用此方法.

标签:javascript,angularjs,ng-repeat,controller
来源: https://codeday.me/bug/20191009/1877921.html