2017-09-21 1 views
0

Ember 데이터는 데이터베이스 기반이지만 Ember는 자체 복사본을 유지 관리합니다. 따라서 CRUD가 항상 정렬 된 데이터를 반환하는 동안 데이터가 추가되면 Ember에서 정렬되지 않습니다. 확실한 해결 방법은 Ember가 데이터베이스와 동기화 상태를 유지하도록하는 것이지만 Ember의 전제를 위반하는 것으로 보이며 확실한 "reloadAll"호출이 없습니다.모델 데이터를 정렬 된 상태로 유지 하시겠습니까?

그러나 모델에서 적용되는 명백한 "sortBy"도 없습니다. 내 구 모델에

phrasesSorted: Ember.computed.sort('phrases', 'phrase') 

...를 추가하려고 않았지만, 그것은 (구성 요소에서 참조하는 방법을 알아낼 수 있습니다 예를 들어, {{#each model.phrasesSorted는 다음과 같이 | 문구 |}} 아무튼 그럴 필요가 없습니다.)

쉽게 데이터를 분류 할 수있는 Embery-way는 무엇입니까? 이 코드는 더 많은 코드를 작성해야하는 경우입니다 (예 : 커스텀 라우트 및 컨트롤러 - 단순한 것처럼 보이거나 단순한 누락이 있습니까?

답변

0

computed.sort을 잘못 사용합니다. 사용하십시오 :

phrasesSorted: Ember.computed.sort('phrases', 'phrasesSorting'), 
phrasesSorting: ['phrase'] 

그런 다음 model.phrasesSorted를 통해 그것을 참조하는 일을 단지 것 - 아무리 경우 내부 컨트롤러, 템플릿, 경로, 구성 요소 또는 서비스를 제공합니다.

+0

응답 해 주셔서 감사합니다. 분명히 나는 ​​그것을 잘못 사용하고 있었지만 결과가 나오지 않아서 이것을 잘못 사용하고있다. 나는 그것을 컴포넌트와 모델에서 시도했다. 데이터를 다시 가져 오지 않습니다. 기본에 ... 두 줄이 모두 필요한 이유는 무엇입니까? 두 번째 라인은 무엇을하고 있습니까? 그리고 어떤 유형의 모듈 (모델, 구성 요소 등)이 있어야합니까? 감사. – TCat

+0

구문이란 무엇입니까? 구문이 일반 배열 인 경우 '{{text :'b '}, {text :'c '}, {text :'a '}'와 같이 객체의 배열로 변경하십시오. 그것이 자식 레코드의 모음이라면 괜찮습니다. 계산 된 정렬은 'phrasesSorting : ['text ']'와 같은 구문 모델의 속성을 포함해야합니다. – handlebears

+0

모델입니다. 정렬 목표 인 "Phrase"를 포함한 네 가지 요소. – TCat

관련 문제