AngularJS - ng重复$ index古怪

时间:2014-06-09 09:27:28

标签: javascript arrays angularjs object

我正在尝试实现对象的数组(possible_parts),当单击某个对象时,将其添加到另一个数组(warranty_parts)。诀窍在于,warranty_parts列表可以多次包含同一个对象。我正在使用“跟踪$ index”,一切正常。

然后我需要将另一个对象(原因)从warranty_part注入所选部分:

<select ng-model="selected_reason" ng-options="war.name for war in warranty_reasons"
ng-change="load_warranty_subreasons($index, part, selected_reason)">

功能:

$scope.load_warranty_subreasons = function(index, part, reason){
    part.selected_reason = reason;
}

但是当我这样做时,warranty_parts中的所有部分都会获得为最后一部分选择的原因,这意味着我以某种方式将原因附加到所有部分。我试图通过$ index:

追加它
$scope.warranty_parts[$index].selected_reason = reason;

但我最终得到的结果相同。我也试过$ apply,我试着生成随机字符串并将其插入到part对象中,因此对象不同但我不断得到相同的结果 - 原因附加到所有部分而不是我想要的唯一部分。

任何人都可以帮我这个吗?我也尝试过:

ng-repeat="part in warranty_parts track by $index(part)"

但后来我收到一条错误消息:数字不是函数。

谢谢!

0 个答案:

没有答案