按照Ember Data docs关于查询:
你可以通过哈希查找查询服务器()。
散列的内容对于Ember Data是不透明的;由您的服务器来解释并返回记录列表。
如果你想要客户端过滤,你可以使用方法Ember.Array
。此示例显示包含原始数组内容的子集的计算属性。此计算数组仅显示与输入到框中的内容相匹配的项目。
JSBin Example
的Javascript:
App = Ember.Application.create({});
App.IndexRoute = Ember.Route.extend({
setupController: function(controller) {
controller.set('content', [
Ember.Object.create({name: 'Joe'}),
Ember.Object.create({name: 'Frank'}),
Ember.Object.create({name: 'John'}),
Ember.Object.create({name: 'Billy'}),
Ember.Object.create({name: 'John'}),
Ember.Object.create({name: 'Johnny'})
]);
}
});
App.IndexController = Ember.ArrayController.extend({
content: [],
filter: "",
filteredContent: function() {
var filter = this.get('filter');
return this.get('content').filter(function(item, index, enumerable){
return item.get('name').toLowerCase().match(filter.toLowerCase());
});
}.property('filter', '[email protected]')
});
把手:
<script type="text/x-handlebars" data-template-name="index">
<h2>Index Content:</h2>
<span>Filter: </span>{{view Ember.TextField valueBinding=filter}}
<ul>
{{#each item in filteredContent}}
<li>{{item.name}}</li>
{{/each}}
</ul>
</script>
,在非常方便来了,谢谢! – user1519082 2013-03-14 21:05:04
这工作得很好..但是有没有一种方法来消除它,所以当在过滤器框中输入非常快时它不会紧张? – cavneb 2013-08-12 16:04:08