Javascript 余烬:在树表中搜索
我们有一个分层模型:Javascript 余烬:在树表中搜索,javascript,ember.js,Javascript,Ember.js,我们有一个分层模型: segments demographic age language location interest art charity entertainment books movies music 我们将其放在一个具有可展开行的表中: ▶ segments 当您单击段旁边的箭头时,您将看到: ▼ segments ▶ demographic ▶ interest ▼ seg
segments
demographic
age
language
location
interest
art
charity
entertainment
books
movies
music
我们将其放在一个具有可展开行的表中:
▶ segments
当您单击段
旁边的箭头时,您将看到:
▼ segments
▶ demographic
▶ interest
▼ segments
▶ demographic
▼ interest
art
charity
▶ entertainment
然后,当您单击兴趣旁边的箭头时,您将看到:
▼ segments
▶ demographic
▶ interest
▼ segments
▶ demographic
▼ interest
art
charity
▶ entertainment
你明白了
诀窍是,不可见的子节点还不在存储中(异步)。
单击箭头可从服务器获取子项。
现在,模型以这种方式在Ember数据中实现:
export default DS.Model.extend({
name: DS.attr('string'),
parent: DS.belongsTo('segment', {
async: true
}),
children: DS.hasMany('segment', {
async: true,
inverse: 'parent'
})
});
现在,我们要实现搜索功能:
- 用户在搜索文本输入中键入内容
- 服务器返回搜索结果
- 我们把它放在桌子上
o
,我们不仅希望看到包含字母o
的结果,还希望看到所有的家长:
▼ segments
▼ demographic
location
▼ interest
▼ entertainment
books
movies
问题: 假设我们从上面的示例中获取了所有项目 如果我们要呈现
兴趣
,则其子项列表不完整
它缺少艺术
和慈善
,这对这个视图来说很好。但是在模型中,子类
认为它已加载,但它仅部分加载
这里应该采用什么方法
- 使用“搜索模式”,当您放弃它时,重新加载子项
- 在模型中为
设置单独的字段searchChildren
- 使用完全独立的模型进行搜索李>
- 我们做错了吗