2014-09-22 2 views
1

데이터보다 pararmeters 다른 사람을 점점 다음 JSON을 감안할 때 :백본, 수집

그것은 매력처럼 작동
var myCollection = Backbone.Collections.extend({ 
    url: myurl.com, 
    parse : function (response) { 
     return response.data; 
    } 
}); 

, 그것은 데이터와 내 컬렉션을 채우기 :

{ 
    "admin": false, 
    "data": [ 
    { 
     value: key, 
     value :key 
    }, 
    { 
     value: key, 
     value :key 
    } 
    ] 
} 

을이 같은 내 컬렉션을 정의 배열, 그러나, tamplate로, 나는 몇 가지 콘텐츠를 렌더링해야합니다 관리 동등한 사실. 하지만 그 값을 템플릿에 전달하는 방법을 찾을 수 없습니다.

어떤 종류의 우연한 사람이라도 이것을 해결할 수있는 올바른 방향을 제시 할 수 있습니까?

고맙습니다.

var myCollection = Backbone.Collection.extend({ 
    model: myModel, 
    isAdmin: false, 
    ... 
    parse : function (response) { 
     this.isAdmin = response.admin; //save admin flag from response 
     return response.data; 
    } 
}); 

그런 다음 당신이 그것을 검색하고 템플릿에 전달 또는 렌더링 뷰에서 다른 방법으로 그것을 사용할 수 있습니다

+0

admin의 정보가 필요하면 구문 분석에서 제거하지 말고 템플릿을 붙여 넣어 도움을 줄 수 있습니다. – StateLess

답변

2

당신은 구문 분석 방법 컬렉션의 속성으로 관리자 플래그를 절약 할 수 방법 :

var myView = Backbone.View.extend({  
    collection: new myCollection(), 
    ... 
    render: function(){ 
     //retrieve admin flag from collection: 
     var isAdmin = this.collection.isAdmin; 

     //you could add it into the json you pass to the template 
     //or do anything else with the flag 

    }        
}); 

아주 기본적인 렌더링 기능으로 시도 할 수 있습니다. this fiddle.

+0

많은 사람에게 감사드립니다! 나는 그것이 나 자신을 이해하지 않을 것이다, 그것은 매력과 같이 일했다! – andresmijares25

+0

이것은 파이썬/플라스크를 사용하고 jsonify가 최상위 배열을 허용하지 않기 때문에 유용합니다. 따라서이 방법으로 데이터를 추출 할 수 있습니다. – contrapsych