2014-10-21 2 views
4

구성 요소의 배열을 정렬 :내가 구성 요소 종류 그 구성 요소에 결과를 전달하고있다려고

// data passed to component 
{ 
    type: 'people', 
    res : [ 
     {name: 'charlie', age: '55'}, 
     {name: 'bobby', age: '19'}, 
     {name: 'raymond', age: '39'} 
    ] 
} 

// component 
App.ShowResultsComponent = Ember.Component.extend({ 

    // note sure how to set up array controller 
    sorted : Ember.ArrayProxy.create({ 
     content : this.get('results.res') 
    }), 

)} 

my jsbin

내가 부족하면 잘 모르겠어요를/몇 가지 근본을 잘못 이해하고 있지만 배열 컨트롤러를 구성 요소의 속성으로 포함 할 수 있습니까? 모든 설명이 감사하겠습니다.

답변

4

예 정렬 가능한 믹스 기능을 활용하기 위해 어레이 컨트롤러를 계산 된 속성으로 인스턴스화 할 수 있습니다.

JS

.... 
App.ShowResultsComponent = Ember.Component.extend({ 

    // not sure how to set up array controller 
    sorted : function(){ 
    return Ember.ArrayController.create({ 
    content : this.get('results.res') 
    }); 

    }.property(), 

    actions: { 
    sortAge: function(){ 
     this.get("sorted").set("sortProperties",["age"]); 
     this.get("sorted").toggleProperty("sortAscending"); 
    }, 
    sortName: function(){ 
     this.get("sorted").set("sortProperties",["name"]); 
     this.get("sorted").toggleProperty("sortAscending"); 
    } 
    } 

}); 
.... 

HBS

.... 
<h3>Sorted:</h3> 
    <ul> 
     {{#each sorted.arrangedContent}} 
     <li>{{name}} -- {{age}}</li>  
     {{/each}} 
    </ul> 
.... 

http://emberjs.jsbin.com/bubiramuhi/1

+0

사용입니다! –

9

또한 료를 정상적으로 당신 같은 arrangedContent를 사용 Ember.SortableMixin와 구성 요소를 확장 할 수 있습니다 컨트롤러에서.

App.ShowResultsComponent = Ember.Component.extend(Ember.SortableMixin, { 

    ... 

    }); 

은 여기 JSBin updated for Ember 1.9.1과 정렬 가능한 믹스 인 내가 덕분에, 찾고 있던 바로 무엇

관련 문제