2015-03-13 13 views
9

Przeczytałem, że teraz ma się katalogi/katalogi wewnątrz/komponentów. Używając ember-cli mogę wygenerować wymagany podkatalog/komponent wymagany. Jednak nie mogę wydawać się odwoływać do komponentu.Składniki Ember w podkatalogu

Na przykład, jeśli struktura folderów tak:

app/components/sub/test-comp.js 
app/templates/components/sub/test-comp.hbs 

odsyłania przez: (w innym pliku .hbs)

{{test-comp model=model}} 

daje mi następujący błąd:

A helper named 'test-comp' could not be found 

ember: 1.10.0
ember-cli : 0.2.0

Odpowiedz

16

trzeba użyć pełnej ścieżki do komponentu:

{{sub/test-comp model=model}} 

EDIT: W odniesieniu do kwestii Leo jest o, to okazuje się, że to problem generator. Generator składników tworzy coś takiego:

import Ember from 'ember'; 
import layout from '../templates/components/sub/foo-bar'; 

export default Ember.Component.extend({ 
    layout: layout 
}); 

O ile mi wiadomo, nie ma powodu do importowania takiego układu. Jeśli coś wielkiego się nie zmieniło, układy komponentów zostaną wykryte automatycznie (jeśli używasz domyślnych konwencji nazewnictwa). Nie wiem, dlaczego to robi to (może być błąd), ale można go naprawić poprzez usunięcie import tak:

import Ember from 'ember'; 

export default Ember.Component.extend({ 

}); 

EDIT 2: Wygląda this is a known issue. Nadal nie wiem, dlaczego ręczne importowanie układu jest konieczne, ponieważ komponent powinien działać bez niego.

+0

Próbowałem tego i błąd jest nieco inny: Nie można znaleźć modułu 'myApp/components/templates/components/sub/test-comp' – leojh

+0

To jest nieparzysta ścieżka. Czy to dokładny błąd, jaki otrzymujesz? Nie ma powodu, dla którego powinien szukać folderu 'templates' w folderze' components'. – GJK

+0

Również, które wersje Ember i Ember-CLI używasz? – GJK