2015-04-02 8 views
5

Sto lavorando su un addon. Provo a usare parziale. Nel mio addon /templates/components/form.hbs ho ottenuto {{partial "pane"}}. I miei _pane.hbs è in addon/templates cartella, ma brace non riescono a trovarlo:Ember CLI non trova parziale

errore non rilevato: Asserzione non riuscita: Impossibile trovare parziale con il nome "pane".

Ho anche provato a mettere _pane.hbs in addon/templates/componenti ma senza fortuna. Dove dovrei metterlo per essere preso da Ember?

risposta

7

Come detto here, tutto viene cancellato in Ember CLI. Usa un trattino invece di un trattino basso.

Inoltre, penso che l'helper partial si risolva a partire dalla directory templates. Se vuoi memorizzare un partial nella directory components, probabilmente dovrai renderlo esplicito.

Quindi il file deve essere denominato:

addon/templates/components/-pane.hbs 

e la chiamata dovrebbe essere simile:

{{partial 'components/pane'}} 
+0

Per i futuri lettori ... "l'helper parziale si risolve iniziando nella directory templates" questa è la chiave, l'helper non esegue il drill down da dove si trova, quindi devi assumere che sia "root" è la cartella del template quando scrivendo il percorso. – sheriffderek

0

Se si desidera un'applicazione per accedere cose nel vostro addons quindi hanno bisogno di essere in directory app non la directory addon. La directory dell'app di ciascun addon viene unita alla directory dell'app degli utenti.

Di solito tutta la tua logica vive nella directory di addon e devi semplicemente importare e poi esportare ogni elemento nella directory dell'app (la directory app è molto stupida e contiene semplicemente un elenco di esportazioni) ... Con i modelli comunque sono non sono sicuro di come sarebbe possibile?

Si potrebbe provare addon/templates/_partial.hbs quindi importarlo in app/templates/_partial.js ma di nuovo non sono sicuro se ciò funzionerebbe o meno .. Se ciò non funziona, vedere se lo si mette in app/templates/_partial.hbs funziona

2

I modelli sotto addon/templates non vengono inclusi nella catena di build Ember standard e non vengono trovati dal resolver Ember standard. Questo è il motivo per cui devi importare manualmente i modelli e assegnarli come layout nel tuo componente.

Se si desidera utilizzare un partial nel proprio addon, sarà necessario posizionarlo sotto app/templates. Ciò è sconsigliabile, tuttavia, poiché non solo il partial non sarà precompilato con i tuoi template di addon, esso inquinerà lo spazio dei nomi del template dell'applicazione root.

Questo probabilmente verrà risolto dalle prossime versioni di ember-cli, i componenti aggiuntivi cambieranno molto presto.