gpt4 book ai didi

javascript - 嵌套 ng-repeat 与包含数组的对象数组

转载 作者:行者123 更新时间:2023-11-28 19:27:08 25 4
gpt4 key购买 nike

我无法使用嵌套的 ng-repeat 来处理如下数据结构:

options = [{name:"opt1", data:["a","b","c"]}, {name:"op2", data:["d","e","f"]}]

我想要完成的是为每个条目创建一个选择标签,其中包含选项。

我认为这样的事情应该有效:

<label ng-repeat="option in options">
<div>{{option.name}}</div>
<select>
<option ng-repreat="val in option.data">{{val}}</option>
</select>
</label>

但只有名称 is name 被正确打印,并且只创建一个没有值的选项。

然后我尝试在内部ng-repeat中使用track by $index:

<label ng-repeat="option in options">
<div>{{option.name}}</div>
<select>
<option ng-repreat="val in option.data track by $index">
{{option.data[$index]}}
</option>
</select>
</label>

但是 $index 似乎是外部 $index 并且仅使用给定数据从 0 计数到 1。

我做错了什么?

最佳答案

您应该使用 ng-options 而不是 ng-repeat,并且在 ng-model 的帮助下您可以获得选定的值。这是一个工作代码

angular.module("module", []).controller('mainCtr', ['$scope', function($scope){
$scope.options = [{name:"opt1", data:["a","b","c"]}, {name:"op2", data:["d","e","f"]}];
}]);
<!DOCTYPE html>
<html ng-app="module">

<head>
<link rel="stylesheet" href="style.css" />
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.3.7/angular.js"> </script>
<script type="text/javascript" src="script.js"></script>
</head>

<body ng-controller="mainCtr">
<div ng-repeat="option in options">
<div>{{option.name}}</div>
<select ng-model="opt" ng-options="opt for opt in option.data">
<option value="">--- select ---</option>
</select>
</div>
</body>
</html>

关于javascript - 嵌套 ng-repeat 与包含数组的对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27647382/

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