gpt4 book ai didi

javascript - ngOptions "track by"表达式

转载 作者:行者123 更新时间:2023-12-03 00:47:58 25 4
gpt4 key购买 nike

我正在尝试使用“track by”表达式来跟踪对象数组中按 id 进行的选择。但是,我似乎无法让它像我认为的那样工作。

//ids from server
$scope.serverDTO = ['1','2','3'];

//composed objects from the ID set
$scope.composedData = [{id:1,name:"test"},{id:2,name:"test"},{id:3,name:"test"}];

<!-- select box -->
<select ng-model="serverDTO" ng-options="item as item.name for item in composedData track by item.id"></select>

所以基于documentation我认为加载时的选项指令会看到 serverDTO 的“跟踪依据”id 为 1、2 和 3,并且已预先选择这些 ID。用户修改选择后,我需要执行类似的操作以将数组返回到服务器-

//recreate proper DTO [1,2,3];
$scope.serverDTO = $scope.serverDTO.map(function(val){
return val.id;
});

我对它应该如何工作还很遥远吗?

最佳答案

据我所知,

track by 只是在内部帮助 Angular 进行数组排序。选项的值由第一个参数定义(在您的情况下为 item)。如果你希望它是通过 id 那么你应该使用 item.id 作为 items in items 的 item.name

关于javascript - ngOptions "track by"表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23397347/

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