I 모델이 속한 카테고리에 따라 체크 해제 적절한 사람과, 엠버 - CLI 체크 박스 (카테고리)의 목록을 생성하여 핸들 바에서 클래스 변수 배열을 반복하고 싶습니다.ember-cli의 Handlebars에서 클래스 변수를 반복하는 방법은 무엇입니까?
나는 몇 가지 문제가 있습니다 - 나는 엠버 - CLI에서 클래스 변수에 액세스하는 방법을 알아낼 수 없습니다. 나는 자습서를 보았다. 엠버에서 .js, 그냥 애플 리케이션 일 뿐이야.리스트. 캘거리.하지만 각 루프를 통과하지는 않아. - 해당 확인란을 선택 취소 하시겠습니까? 그 아래에 janky 코드가 있는데 아마도 작동하지 않을 것입니다.
listing.js :
import DS from "ember-data";
var Listing = DS.Model.extend({
categories: DS.attr(), // string array
});
Listing.reopenClass({
CATEGORIES: ['park', 'outdoors']
});
export default Listing;
show.hbs는 :
<ul>
{{#each category in CATEGORIES}}
<li>{{input type="checkbox" name=category checked=categories.contains(category)}} {{category}}</li>
{{/each}}
</ul>
내가 컨트롤러/옵션/show.js에 위의 코드를 떨어졌다. Chrome 디버거는 model.constructor.CATEGORIES이 정의되지 않았 음을 알려줍니다. 왜 model.constructor.CATEGORIES 대신 model.CATEGORIES입니까? 어쨌든 어느 누구도 일하지 않았습니다. 하드 코딩 된 배열로 교체하면 오류가 사라지고 놀랍지는 않습니다. 적절한 수의 확인란이 있지만 카테고리 이름은 없습니다. Ember 디버거는 selectableCategories에 세 개의 객체가 있다고 알려주지 만 속성은 없습니다. 네가하는 일을 따라했는데, 왜 작동하지 않는지 잘 모르겠다. – jwoww
흠, 죄송합니다. 작동하지 않았습니다. 각 인스턴스가 아니라 클래스에 저장되어 있으므로'model.constructor.CATEGORIES'가 필요하다고 생각합니다. 검사관에게 사실인지 확인할 수 있습니다. 어쩌면 JSBin을 설정하고 더 볼 수 있을까요? 나는 살아있는 코드에 묶이지 않고 답을 썼다. 그래서 나는 뭔가를 놓칠 수 있었다. –
'model.constructor.CATEGORIES'를 반환하는 컨트롤러에 계산 된 속성을 설정하여 기능을 확인할 수 있습니다. 또한,이 목적을 위해 [이 라이브러리] (https://github.com/rsrshermer/ember-multiselect-checkboxes)가 있습니다. –