Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ember.js 在绑定文本输入以计算Ember中的筛选列表时键入LAGY_Ember.js - Fatal编程技术网

Ember.js 在绑定文本输入以计算Ember中的筛选列表时键入LAGY

Ember.js 在绑定文本输入以计算Ember中的筛选列表时键入LAGY,ember.js,Ember.js,我有一个Ember应用程序,其中我有一个绑定到属性query的输入。有一个计算属性filteredRecords,它使用query过滤模型来构建一个记录数组以供显示。该模型包含大量记录,因此在过滤过程中存在一定的滞后。在搜索栏中键入内容也很慢。列表的重新呈现似乎妨碍了文本被呈现到搜索栏中 computed属性是用实现的。以下是我的控制器属性,computedFilterByQuery的实现是: 有没有一种方法可以赋予搜索栏“优先级”,这样即使列表需要一两秒钟才能更新,输入搜索栏也总是很顺畅?您能

我有一个Ember应用程序,其中我有一个绑定到属性
query
的输入。有一个计算属性
filteredRecords
,它使用
query
过滤
模型
来构建一个记录数组以供显示。该模型包含大量记录,因此在过滤过程中存在一定的滞后。在搜索栏中键入内容也很慢。列表的重新呈现似乎妨碍了文本被呈现到搜索栏中

computed属性是用实现的。以下是我的控制器属性,
computedFilterByQuery
的实现是:


有没有一种方法可以赋予搜索栏“优先级”,这样即使列表需要一两秒钟才能更新,输入搜索栏也总是很顺畅?

您能为
filteredRecords
发布您的计算属性代码吗?出于好奇,大概有多少条记录?@rog更新了我的帖子,大约有800条记录。你是否尝试过在你的过滤器中添加一个去Bounce,这样它就不会在每次更改查询时立即进行过滤?我注意到了一个类似的问题,并成功地使用了这种方法。@Dhaulagiri,谢谢,我还没有尝试过——我不熟悉去Bouncing,但我查了一下,虽然不太理想(我觉得函数调用实际上不需要延迟),但它看起来应该可以工作。如果您添加一个答案,说明如何修改我发布的代码,以消除其影响,我将接受您的答案。
// in controller...
mArray: function() {
  return this.get('model').toArray();
}.property('model'),

filteredRecords: computedFilterByQuery(
  'mArray', 'key', 'query'
).readOnly(),