我目前处于角度/节点环境中。我已经在我的过滤器中添加了布尔值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的参数,它也是一个整数
答案 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};