2016-08-01 8 views
1

Ich habe eine Komponente, die eine Verknüpfung zu enthält. Die Komponente ist komplizierter, aber der Einfachheit halber hier:Ember: Wie Link-zu in einer Komponente

//Component.hbs 
{{#link-to link model}}{{yield}}{{/link-to}} 

Das Problem ist, manchmal werde ich ein Modell passieren, manchmal werde ich nicht.

//Route.hbs 
//providing the model 
{{my-component link='chosenroute' model='chosenmodel'}} 

//omitting a model - doesn't work 
{{my-component link='otherroute'}} 

Wie mache ich das Modell Argument optional?

+0

ich nicht diese Linie erhalten {{my-Komponenten-Link-Modell}} - einen Code zur Verfügung stellen oder Fall verwenden. es wäre hilfreich, Antwort zu geben – kumkanillam

+0

Danke, das war mehr als ein Tippfehler. Hoffe, das macht jetzt Sinn. – rjoxford

+1

Wenn Sie dynamische Segmente verwenden, können Sie die ID anstelle des Modells übergeben. {{# link-to 'home' (wenn Modell 1 2)}} {{yield}} {{/link-to}}...dies wird das Aufrufen des Modell-Hooks erzwingen. – kumkanillam

Antwort

2

Setzen Sie einfach einen if/else. undefined ist kein guter Parameter für Link-to.

//Component.hbs

{{#if model}} 
    {{#link-to link model}}{{yield}}{{/link-to}} 
{{else}} 
    {{#link-to link}}{{yield}}{{/link-to}} 
{{/if}} 
+1

Ich glaube, ich war auf der Suche nach etwas viel Komplizierterem ... Danke! – rjoxford