我是angular js的新手。我无法弄清楚过滤器如何处理对象中的名称而不是电话键上的名称。因为如果我们在ng-model中只使用关键字,它将在范围中定义的对象中同时过滤姓名和电话号码在关键字.name的情况下,它只会过滤掉名称。我无法弄清楚当我们在ng模型中使用“keyword.name”时,以及我们使用“filter:keyword”过滤器时过滤器如何工作。
<script>
var app = angular.module("app" , []);
app.controller("controller" ,['$scope' , function($scope){
$scope.answer = 1+2;
$scope.object=[
{name:'John', phone:'555-1276'},
{name:'Mary', phone:'800-BIG-MARY'},
{name:'Mike', phone:'555-4321'},
{name:'Adam', phone:'555-5678'},
{name:'Julie', phone:'555-8765'},
{name:'Juliette', phone:'555-5678'}]
}]);
</script>
<div ng-app = "app" ng-controller="controller" >
<input type="text" ng-model="keyword.name" />
<table>
<thead>
<th>Name</th>
<th>Phone</th>
</thead>
<tr ng-repeat = "item in object | filter: keyword" >
<td> {{item.name}} </td>
<td> {{item.phone}} </td>
</tr>
</table>
</div>
</body>
这意味着当ng-model =“keyword”时,那么对于角度来说,它将是“filter:keywrod。$”或“ng-model = keyword。$”?其实我对每个新的角度js –
我认为对角度,它将是“过滤器:关键字。$”。 – Vivz
但它背后的逻辑是什么?你能解释一下吗? –