2016-04-18 9 views
0

Ok, bin ziemlich verwirrt hier.Ember Vorlage zeigt keine Attribute in Route js Datei

Ich habe die folgende Route bei Dashboard.info. Ich weiß, dass die Vorlage mit dieser Route korreliert ist, weil Aktionen wie "Senden" voll funktionsfähig sind. obwohl

// dashboard/info.js 
export default Ember.Route.extend({ 

    testContent: "hey what's up", 

    actions: { 
     submit() { 
      //blah blah blah 
     } 
    }, 
}); 

Aus irgendeinem Grund diese Attribute wie Testinhalt zeigen nicht auf meiner Vorlage:

//dashboard/info.hbs 
<p>Should be here: {{testContent}}</p> 

scheint so einfach! Ich bin verwirrt. Vielleicht ist das nicht genug Info. Hier ist etwas, das relevant sein könnte, ich lade in diese 'Form-Nav' Komponente, die wiederum mehrere 'Panel' Komponenten enthält, die meine Eingaben enthalten.

<form {{action "submit" on="submit"}}> 
    {{info.form-nav model=model}} 
</form> 

Könnte ich Ember mit zu vielen verschachtelten Komponenten in der Route verwirren? Könnte es sein, weil ich keinen Controller instanziiere? Ich dachte, Ember versuchte, sich von den Steuerungen wegzubewegen ...

Lmk, wenn ich weitere relevante Informationen einschließen kann. Wird zusehen. Vielen Dank!!

Antwort

1

Es kann einen anderen Weg geben, als ob Sie Ihre Variablen in "routes/dashboard/info.js" definieren und in "templates/dashboard/info.hbs" verwenden möchten. Dann können Sie den "setupController" Hook verwenden und den "testContent" setzen. Nach dem Einstellen kann es einfach in Ihren "templates/dashboard/info.hbs" verwendet werden.

// dashboard/info.js 
export default Ember.Route.extend({ 

testContent: "hey what's up", 
setupController: function(controller) { 
    //you can set route variable to controller variable like in below so that it can be easily available in template for rendering purpose 
    controller.set('testContent', this.get("testContent"); 

     this._super(controller, model); 
    } 
    actions: { 
     submit() { 
      //blah blah blah 
     } 
    }, 
}); 
+0

Super danke Jyoti, das war der Code den ich gesucht habe. –

1

Obwohl Ember versucht, sich von den Controllern zu entfernen, sind sie noch nicht weg. Wenn Sie möchten, dass testContent in Ihrer Vorlage templates/dashboard/info.hbs angezeigt wird, muss es in Ihrem controllers/dashboard/info.js Controller gehen.

+0

Danke, Freund. –

Verwandte Themen