2012-08-10 3 views
1

CoffeeScript에서 Backbone.js와 Chaplin.js를 사용합니다. 나는 도전하고있다. 라우팅 된보기에서 url 매개 변수를 가져 오는 방법은 무엇입니까?보기에서 URL url 매개 변수를 가져 오는 방법은 무엇입니까?

routes.coffee :

define ->  
    'use strict' 
    (match) -> 
    match "account/albums/:page", "accounts#albums" 


define [              
    'chaplin'             
    'collections/albums'           
    'views/form_view'           
    'views/inline/album'           
    'text!template/account/_form_image.html'      
    'text!template/account/list_albums.html'      
], (chaplin,             
    Albums,             
    FormView,             
    AlbumView,             
    formTemplate,            
    template             
) ->               
    'use strict'             

    class AccountAlbums extends chaplin.CollectionView   
    collection: new Albums          
    itemView: AlbumView          
    template: template           
    containerMethod: 'html'         
    listSelector: '[data-placeholder=albums-tile]'    

    # TODO: understand how to get router arguments in the view 
    initialize: (options) ->         
     super             
     @on 'addedToDOM', => @collection.fetch()     
     # Need to something like this.       
     # But I do not know how to get it.      
     #@collection.fetch          
     # data:             
     # page: page           

답변

0

이 오래된 질문이지만, 완성도를 위해 여기에 대답 :

귀하의 경로는 컨트롤러 내부의 albums 방법으로 데이터를 전송한다 (accounts)이 외설이 위의 코드에 표시되지 않았습니다. 그 방법은 다음과 비슷한 모습이 될 것입니다

albums: (params, route, options) -> 
    @collection = new Albums() 
    @view = new AccountAlbums collection: @collection 
    @collection.fetch 
     data: 
     page: params.page 

뷰는 데이터를 검색 귀찮게 안, 데이터를 얻기 위해 컬렉션을 알려줄 컨트롤러의 일이다. 그런 다음보기가 자동으로 렌더링됩니다.