2

我在 AngularJS 中的过滤器有问题。在这里查看我的代码:http: //jsfiddle.net/sqev9/7/

我有一个在 ng-options 字段中使用过滤器的选择:

ng-options="listitem as listitem.Name for listitem in MyList.Items|filter:FilterList"

我还使用了一个空选项,因为此选择是可选的。

作为选择的 ng-model,我使用值“SelectedInList”

现在的问题是,当过滤器不匹配任何内容时,我的 $scope 中的“SelectedInList”变量不为空。

通过选择“item1”并按“Go”来模拟这一点:SelectedInList 现在正确地是 item1 对象。现在过滤器发生变化,列表为“空”:只有“-”项在那里,这也是预期的。现在再次按“go”应该会给我“null”作为 SelectedInList,但它仍然是 item1 对象,这是我没想到的。

这种方法的任何解决方案?

最好的问候,汤姆,

4

1 回答 1

1

似乎当列表被过滤并且值不再存在时,ng-model. 这看起来很像一个错误,但我需要更多的研究来理解原因。

无论如何,一个解决方案是在方法结束时设置SelectedInList为。nullAdd

于 2013-03-20T12:17:10.147 回答