Angular Not Returning Records中过滤器的布尔值

时间:2016-06-20 18:43:20

标签: angularjs

我目前处于角度/节点环境中。我已经在我的过滤器中添加了布尔值true,这样我就可以获得完全匹配(我使用的是角1.5.5)。但是,当我添加此值时,没有记录显示。我很好奇为什么会这样,因为两个应该匹配的字段具有相同的数据类型并且没有其他错误。 这是给出麻烦的一条线:

<tr ng-repeat="call in calls | filter:{clientid:clientiD}:true | orderBy:'createdAt'">

其中clientid是调用表的整数字段,clientiD定义如下:

$scope.clientiD = document.location.href.split('callog/')[1];

从客户端表中获取客户端ID的参数,它也是一个整数

1 个答案:

答案 0 :(得分:0)

问题不在于布尔精确mutch,而在于filter的表达式。你可以这样解决:
在视图中:ng-repeat="call in calls | filter:callsFilter:true | orderBy:'createdAt'"
在控制器中:

$scope.callsFilter = {clientid:document.location.href.split('callog/')[1]};

<强>更新: 原始表达式不起作用,因为clientiD{clientid:clientiD}的{​​{1}}作为值而不是$scope上的变量

<强> UPDATE2 假设clientid的类型为Number - 从位置提取的字符串值应转换为此类型以进行完全匹配:

var clientId = parseInt(document.location.href.split('callog/')[1];
$scope.callsFilter = {clientid:clientId};