javascript - AngularJS - 过滤器不列出空对象

标签 javascript angularjs

我有一个 $scope.myData 对象,该对象在消息对象中具有空值。

$scope.myData = [
{
   "ID" : "001",
   "deviceName":"sanjit",
   "Message" : "test1"
},{
   "ID" : "002",
   "deviceName":"gan",
   "Message" : "test2"
},{
   "ID" : "003",
   "deviceName":"dine",
   "Message" : ""
},{
   "ID" : "004",
   "deviceName":"sam",
   "Message" : "test4"
},{
   "ID" : "005",
   "deviceName":"dhar",
   "Message" : " "
},{
   "ID" : "006",
   "deviceName":"gau",
   "Message" : "test6"
},{
   "ID" : "007",
   "deviceName":"venk",
   "Message" : "test7"
}
]

我在 tr 标记中执行 dir-paginate ,如下所示

<br/><b> dir-paginate="dev in myData | filter:{deviceName:q,message:loc}></b>
<br/>

并使用两个输入进行过滤

<br/>
Device Name: <b>ng-model="q"</b>
<br/>
Message: <b>ng-model="loc"</b>

当我在输入字段中使用 ng-model="loc" 搜索消息时,我将得到正确的结果列表 (001,002,004,006,007)

当我清除“loc”字段时,我不会得到完整的结果,而只会得到上述 5 个结果 (001,002,004,006,007),即清除 过滤字段“loc”,我没有得到消息中具有空值的对象。

请告诉我出了什么问题?

最佳答案

过滤器区分大小写,因此您需要将 message 更改为 Message

var app = angular.module('myapp', []);

app.controller('MainCtrl', function($scope) {
  $scope.name = 'World';
  $scope.myData = [
{
   "ID" : "001",
   "deviceName":"sanjit",
   "Message" : "test1"
},{
   "ID" : "002",
   "deviceName":"gan",
   "Message" : "test2"
},{
   "ID" : "003",
   "deviceName":"dine",
   "Message" : ""
},{
   "ID" : "004",
   "deviceName":"sam",
   "Message" : "test4"
},{
   "ID" : "005",
   "deviceName":"dhar",
   "Message" : " "
},{
   "ID" : "006",
   "deviceName":"gau",
   "Message" : "test6"
},{
   "ID" : "007",
   "deviceName":"venk",
   "Message" : "test7"
}
]
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>

<html ng-app="myapp">
  
  <body ng-controller="MainCtrl">
    Device Name: <input ng-model="q">
    Message: <input ng-model="loc">

    <ul>
      <li ng-repeat="dev in myData | filter:{deviceName:q,Message:loc}">
        {{dev}}
      </li>
    </ul>
  </body>
</html>

关于javascript - AngularJS - 过滤器不列出空对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32229042/

相关文章:

php - 部署没有源代码的网站

javascript - IE 中的 AngularJS 错误与风格 vs ng 风格

javascript - 尝试了解 Angular 路由概念,但是当尝试重新加载页面时,没有显示任何内容。

angularjs - Angular : ng-click with a parameter not working

javascript - 类型错误 : Cannot read property 'notesObjectInService' of undefined

javascript - Angular : ng-controller on directive does not work on transcluded elements within directive

javascript - IE 在使用 javascript 更改后不呈现元素显示的变化

javascript - 基于 HTML5、Css3 和 Javascript 的游戏应用程序的最佳框架

javascript - "useRefs"变量是 div 引用的初始值?

javascript - 使用 AngularJS 突出显示术语列表