2012-09-19 5 views
0

나는 string과 state : integer라는 이름의 프로젝트 모델을 가지고 있습니다. 5 가지 유형의 상태가 있습니다. 예를 들어, 상태 3 인 모든 프로젝트를 #prospects div에 넣고 싶습니다. 이 작품을 어떻게 만들 수 있습니까?Backbone.js에서 모델 필터링

appendProject: (project) => 
    # this renders all projects 
    view = new Trackproject.Views.Project(model: project) 
    @$('#projects').append(view.render().el) 
    # this is how i want it to work 
    @$('#prospects').append(state3.render().el) 
    @$('#upcoming').append(state4.render().el) 

컬렉션 파일에서 필터링 할 수는 있지만 뷰에로드하는 방법을 알 수는 없다고 생각합니다. 나는 레일, 백본 및 커피 스크립트 작업

답변

0

정답은

appendProject: (project) => 
    view = new Trackproject.Views.Project(
       model: project 
     ) 
    state = project.get("state") 
    if state is 1 
     @$("#projects").append view.render().el 
    else if state is 2 
     @$("#prospects").append view.render().el 
    else if state is 3 
       @$("#upcoming").append view.render().el 
     else if state is 4 
       @$("#current").append view.render().el 
     else if state is 5 
       @$("#completed").append view.render().el 
     else 
       @$("#projects").append view.render().el 
내가 볼
0
_.each(projectCollection.where({state: 3}), function(project) { 
    $('#prospects').append($('<span>' + project.get('name') + '</span>')); 
}); 
+0

하지만 난 코드의 조각을 배치해야합니까입니까? 컬렉션 또는보기에서? – bartligthart

+0

보기에서. 물론 프로젝트 컬렉션을 볼 필요가 있습니다. –

관련 문제