2015-03-13 17 views
9

Ich habe gelesen, dass Verzeichnisse/Ordner innerhalb von/Komponenten jetzt unterstützt wird. Mit ember-cli kann ich das benötigte Unterverzeichnis/die benötigte Komponente erzeugen. Ich kann jedoch nicht auf die Komponente verweisen.Ember Komponenten im Unterverzeichnis

Zum Beispiel, wenn ich eine Ordnerstruktur wie folgt:

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

Referenzierung von: (in einer anderen .hbs Datei)

{{test-comp model=model}} 

gibt mir die folgende Fehlermeldung:

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

ember: 1.10.0
ember-cli : 0.2.0

Antwort

16

Sie müssen den vollständigen Pfad zu der Komponente verwenden:

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

EDIT: auf die Frage in Bezug wird Leo hat, stellt sich heraus, es ist ein Generator Problem. Der Komponentengenerator erzeugt so etwas wie diese:

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

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

Soweit ich weiß, gibt es keinen Grund, das Layout so zu importieren. Wenn sich nicht etwas Großes geändert hat, werden Komponentenlayouts automatisch erkannt (wenn Sie die Standardbenennungskonventionen verwenden). Ich weiß nicht, warum es dies tut (könnte ein Fehler sein), aber man kann es beheben, indem Sie den Import wie folgt zu entfernen:

import Ember from 'ember'; 

export default Ember.Component.extend({ 

}); 

EDIT 2: Es sieht aus wie this is a known issue. Ich weiß immer noch nicht, warum der manuelle Import des Layouts notwendig ist, da die Komponente ohne sie funktionieren sollte.

+0

Ich habe es versucht und der Fehler ist etwas anders: Konnte Modul 'myApp/Komponenten/Vorlagen/Komponenten/Sub/Test-Comp' nicht finden – leojh

+0

Das ist ein seltsamer Pfad. Ist das der genaue Fehler, den Sie bekommen? Es gibt keinen Grund, nach einem 'templates'-Ordner im' components'-Ordner zu suchen. – GJK

+0

Welche Versionen von Ember und Ember-CLI verwenden Sie auch? – GJK

Verwandte Themen