我们有一个分层模型:
segments
demographic
age
language
location
interest
art
charity
entertainment
books
movies
music
我们把它放在一个有可扩展行的表中:
▶ segments
当您点击segments
旁边的箭头时,您会看到:
▼ segments
▶ demographic
▶ interest
然后当您点击interest
旁边的箭头时,您会看到:
▼ segments
▶ demographic
▼ interest
art
charity
▶ entertainment
你明白了。
诀窍是,不可见的子节点尚未存储(异步)。 单击箭头可从服务器中提取子项。
现在,模型以这种方式在Ember Data中实现:
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
问题:
假设我们从上面的示例中获取了所有项目。
如果我们想要呈现interest
,则其子列表不完整。
缺少art
和charity
这个视图很好。但是在模型中,children
认为它已加载,但它只是部分加载。
这里有什么方法?
searchChildren
?感谢任何提示!