【发布时间】:2017-10-28 09:28:36
【问题描述】:
我正在尝试编写一个基于几个属性过滤行的函数。当我运行代码时,列表没有显示出来,并且有一个错误提示“TypeError: Cannot read property 'name' of undefined”。我正在尝试搜索列名称和位置。这是我的html代码
<tbody ng-if="routerList.length">
<tr ng-repeat="router in routerList | orderBy: rule|filter : search | limitTo:5:5*(naviagtion.currentPage-1) ">
<td><span>{{router.routerId}}</span></td>
<td><span>{{router.name}}</span></td>
<td><span>{{router.macAddr}}</span></td>
<td><span>{{router.primaryIP}}</span></td>
<td><span>{{router.status}}</span></td>
<td><span>{{router.location}}</span></td>
</tr>
</tbody>
在我的控制器中,我有一个函数搜索
$scope.search = function(item){
if($rootScope.naviagtion.searchText == undefined){
return true;
}else{
if(item.router.name.indexOf($rootScope.naviagtion.searchText) != -1 || item.router.location.indexOf($rootScope.naviagtion.searchText) != -1 ){
return true;
}
}
return false;
}
谁能告诉我怎么了?
【问题讨论】:
-
你拼错了导航
naviagtion。 -
我知道。现有代码具有拼写导航。这不是问题
-
那么问题可能出在
item.router。无法读取名称,因为 .router 未定义? -
它说无法读取未定义名称的属性
-
你能
console.log(item)吗?
标签: javascript angularjs html angular-ui-bootstrap