2016-03-24 8 views
1

Einfaches Array in einer Komponente, das in einem Selektor-Tag angezeigt wird. Ich bin nicht in der Lage, es zur Arbeit zu bringen. Der FirstSelector zeigt nichts an.Ember einfaches Array zur Anzeige in Komponente

In dem component.js:

sortPropertiesAsc: ['value:asc'], 
    selectors: ['model.modelObjects', 'model.location'], 

    firstSelector: function(){ 
    const firstGroupObjects = this.get('selectors')[0]; 
    return Ember.computed.sort(firstGroupObjects, 'sortPropertiesAsc'); 
    }.property(), 

In dem component.hbs

<select onchange={{ action 'selectBrand' value="target.value" }}> 
     <option value="" >Select company</option> 
     {{#each firstSelector as |company|}} 
     <option value={{company.id}} selected={{eq brand company.id}}> {{company.value}}</option> 
     {{/each}} 
    </select> 

wenn ich den firstSelector wie dies in dem component.hbs schreibe, wird es funktionieren:

firstSelector: Ember.computed.sort('model.modelObjects', 'sortPropertiesAsc'), 

Wie kann ich es anders schreiben (als Funktion)

Antwort

0

Ich bin nicht sicher, ob das alles in Ihrem Setup ist, aber eine Sache, die ich auf der Fledermaus bemerkt, war, wenn Sie Ihre computed property basierend auf Änderungen an selectors auslösen möchten, sollten Sie so etwas wollen.

firstSelector: Ember.computed('selectors', function() { 
    const firstGroupObjects = this.get('selectors.firstObject'); 
    return Ember.computed.sort(firstGroupObjects, 'sortPropertiesAsc'); 
    }) 

Wenn sortPropertiesAsc Änderungen Werten Sie es in zu

firstSelector: Ember.computed('selectors', 'sortPropertiesAsc', function() { 
    const firstGroupObjects = this.get('selectors.firstObject'); 
    return Ember.computed.sort(firstGroupObjects, 'sortPropertiesAsc'); 
    }) 
+0

Dank ist dies hinzufügen wollen würden, was ich gesucht habe! – Wesley

Verwandte Themen