API에서 Ajax를 통해 가져온 객체 목록이 있습니다. 내가 {{#each App.cardsController}}
를 사용하는 경우Ember.js를 사용하여 목록 하위 집합을 (보기에서) 표시하는 방법은 무엇입니까?
App.Card = Ember.Object.extend({
name: "",
color: ""
});
App.cardsController = Ember.ArrayController.create({
content: [],
createCard: function(data) {
this.pushObject(App.Card.create(data));
},
loadCards: function() {
// Fetch API and use createCard
}
});
, 나는 내 컨트롤러 내부의 모든 카드를 나열 : 그것은이 비슷한입니다.
하지만 색상별로 필터링하고 싶습니다. 목록 (컨트롤러의 콘텐츠 내부)을 필터링하고 표시하려면 어떻게합니까? App.cardsController
내부
추가 코드 :
나는이 방법을 시도
filterCardsByColor: function() {
array = this.get('content').filter(function(item, index) {
return item.get('color') == 'red';
});
return array;
}.property('[email protected]')
그리고 내보기에 {{#each App.cardsController.filterCardsByColor}}
을 추가했다.
하지만 내 크롬 콘솔에서 다음과 같은 오류가 점점 오전 : 내가 잘못 뭐하는 거지
Uncaught TypeError: Object [object Object] has no method 'addArrayObserver' ember.min.js:18
? 또는 무엇을해야합니까? 그 논리를보기로 옮겨야합니까? 방법? 심지어 array
을 Ember.Array.create(array)
안에 배치하려고 시도했지만 문제가 해결되지 않았습니다.
보너스 : filterCardsByColor에 매개 변수를 보낼 수 있습니까? 'red'
카드 또는 'yellow'
카드 등을 요청할 수 있습니까?
참고를 참조하십시오 : // 유래 : 나는 HTTP에서 "myFilteredArray'을 사용했습니다.com/questions/11502300/how-to-get-index-of-emberjs-view의 항목 - 올바르게 사용하지 않은 것 같습니다. – jmonteiro
어떤 버전의 Ember.js를 사용하고 있습니까? Ember.Object.create – Luan
@Luan에 대해 계산 된 속성을 정의 할 수 없습니다. 1.0.0-pre4를 사용하고 있습니다. – jmonteiro