2017-03-02 1 views
1

Comment puis-je effectuer une relation de chargement paresseux à l'intérieur du gabarit?EmberJS - Chargement paresseux à l'intérieur d'un gabarit

// models/folder.js 
export default DS.Model.extend({ 
    children: DS.hasMany('item', { inverse: 'parent', async: true }) 
}); 

// models/item.js 
export default DS.Model.extend({ 
    parent: DS.belongsTo('folder', { inverse: 'children', async: true }) 
}); 

A ce stade, le dossier est chargé (except of his children) et les enfants ont jamais été chargés.

Je voudrais faire EmberJS charger les enfants d'un dossier quand je lance {{folder.children}} dans un modèle.

+0

Il devrait être chargé. '{{folder.children.length}}' –

+0

Non, il ne se charge pas. Regardez cet exemple: https://emberjs.jsbin.com/cofiqikoho/1/edit?html,js,console,output EmberJS n'essaie pas de charger 'items'. – Charles

+0

Dans jsbin vous fournissez, il n'y a aucune donnée de charge utile enfant. Poussez une charge utile pour les enfants, alors vous pouvez voir –

Répondre

0

Vous pouvez mettre vos enfants en section ui en aide if. Ensuite, si la condition est vraie, vos enfants promettent, fullfilled.

<button {{action (mut showChildren) true}}>Expand</button> 

{{#if showChildren}} 
    {{#each parent.children as |child|}} 
    <span>{{child.name}}</span> 
    {{/each}} 
{{/if}} 
+0

Comme ça? https://emberjs.jsbin.com/liponejoje/1/edit?html,js,console,output – Charles

+0

@Charles J'ai mis à jour votre [jsbin] (https://emberjs.jsbin.com/radufetowu/1/edit?html , js, console, sortie) –

+0

Je ne veux pas charger les enfants avec la liste des parents. – Charles