gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 16:39:38 25 4
gpt4 key购买 nike

这是 HTML,这个文件是局部的,其中全局 Controller 在主页中定义:消息对象包含从第一页加载的数据。

<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 。请帮忙。谢谢

最佳答案

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

构建维护共享对象的服务, Controller 仅处理引用。请注意,在这种情况下,它会一直工作,直到您根据理想情况手动刷新页面。如果你的数据不是更重,并且你需要在所有页面上维护它,那么在这种情况下你可以将它存储在本地存储中。

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;
}

实际上,由于您在父 Controller 中定义了城市,因此您的子 Controller 将继承所有作用域变量。所以理论上你不必调用 $parent。上面的例子也可以这样写:

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

Angular Docs正在使用这种方法。

关于javascript - 在Angular js中单击提交后如何获取在单选按钮中选择的值列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32200820/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com