Javascript ng src映像在新刷新阵列时的ng重复期间消失

Javascript ng src映像在新刷新阵列时的ng重复期间消失,javascript,angularjs,Javascript,Angularjs,单击一行后,我希望阵列刷新时图像selectedImg保持不变,但每次更新时它都会消失。我知道文档中说“ngRepeat使用$watchCollection检测集合中的更改。当发生更改时,ngRepeat然后对DOM进行更改。” 我可以做什么来保持页面上的selectedImg 好吧,你说你希望selectedImg保持可见,isSelected(x)每次都是真的吗?我不知道每次x看起来是什么样子,但它是最初选择的同一个对象吗?还有一点让我感到震惊的是,您不应该通过赋值来更改$scope数组变量

单击一行后,我希望阵列刷新时图像selectedImg保持不变,但每次更新时它都会消失。我知道文档中说“ngRepeat使用$watchCollection检测集合中的更改。当发生更改时,ngRepeat然后对DOM进行更改。”


我可以做什么来保持页面上的selectedImg

好吧,你说你希望selectedImg保持可见,
isSelected(x)
每次都是真的吗?我不知道每次x看起来是什么样子,但它是最初选择的同一个对象吗?还有一点让我感到震惊的是,您不应该通过赋值来更改
$scope
数组变量。相反,执行
$scope.data.splice(0)
清空数组,然后将每个元素推送到
$scope.data
数组上。我在某个地方读到,如果您只是覆盖数组,它可能会产生不利影响,并且在大多数情况下会使绑定解耦。@GONeale,
isSelected(x)
会为该x解析为true,直到单击另一行。我试过你说的,
$scope.data.splice(0);对于(var i=0;iYou知道吗,解决方案其实很简单……我在比较对象之间的关系,但对象内部有一个唯一的键,我可以进行比较,而将比较更改为两个对象的键使其正常工作。我仍然觉得奇怪,在比较对象时它没有正常工作,因为它们仍然是我牙科。啊,这样就可以了:)好吧,你说你想让selectedImg保持可见,是不是
isSelected(x)
每次都解析为true?我不知道每次x看起来像什么,但它是最初选择的同一个对象吗?还有一点让我感到震惊的是,您不应该通过赋值来更改
$scope
数组变量。相反,执行
$scope.data.splice(0)
清空数组,然后将每个元素推到
$scope.data
数组中。我在某个地方读到,如果您简单地覆盖数组,它可能会产生不利影响,并且在大多数情况下会断开绑定。@GONeale,
isSelected(x)
为该x解析为true,直到单击另一行。我尝试了您所说的,
$scope.data.splice(0);用于(var i=0;iYou知道吗,解决方案其实很简单……我在比较对象之间的关系,但对象内部有一个唯一的键,我可以进行比较,而将比较更改为两个对象的键使其正常工作。我仍然觉得奇怪,在比较对象时它没有正常工作,因为它们仍然是我牙科。啊,那就行了:)
<table>
<tr ng-repeat="x in data" ng-click="select(x);">
<td><img ng-src="{{ isSelected(x) ? selectedImg : nonSelectedImg }}"</td>
<td>... Contents ...</td>
</tr>
</table>
$scope.data = response.data