如果你看一下plunkr http://plnkr.co/edit/ilNYwiTwJIwe5HwteErz?p=preview
<select ng-model="query.type">
<li ng-repeat="tech in techs | filter : query">
我有一个疑问 - 如何使用ng-model&amp;过滤表达式&#39;查询&#39;事情(由于缺乏更好的理解)得到类型字段。究竟是什么&#39;查询&#39;事情。我们可以安慰它吗?如何形成query.type&lt; ----&gt;查询的关联。
我完全遵循代码的语义声明的逻辑推理,如 -
<div ng-repeat="tech in techs | filter: { type : 'mvc' }">
很好地击中了头部的quire。对此有何细致的解释?感谢。
答案 0 :(得分:0)
如果您打印过滤器表达式,请执行以下操作:
<select ng-model="query.type"> {{query}}
你会看到query
只是一个普通的javascript对象:
{type: 'mvc'}
因此,当您使用ng-repeat="tech in techs | filter : query
之类的过滤器时,您基本上会提供变量,这是一个具有要过滤的属性的对象。
答案 1 :(得分:0)
首先,您需要了解type
是String
。
如果您想查看query
的内容,可以将ng-change
添加到select
,如下所示:
<select ng-model="query.type" ng-change="consoleQuery()">
在控制器中:
$scope.consoleQuery = function () {
console.log($scope.query);
}
所以现在从select
中选择一些值后,您会在控制台中看到query
是Object
:
Object {type: "mvp"}
因此,当您在ng-repeat
query
中使用时:
<li ng-repeat="tech in techs | filter : query">
如果您输入下一个(请参阅Demo
):
<li ng-repeat="tech in techs | filter : {type : query.type}">
在上一个代码中,您将创建一个Object
,其中包含属性type
,其值为query.type
。但至于query
是Object
只包含1个属性type
- 我们可以在ng-repeat
中使用它。
希望,这将为您提供正在发生的事情。