2013-05-15 4 views
0

로딩 할 때 내 앱에로드해야하는 백본 컬렉션이 있습니다 (부트 스트랩 데이터). 이 자료는 목록을 채우는 데 모든 곳에서 사용되는 정적 정보입니다 아래 등앱로드시 백본 다중 데이터 가져 오기?

이러한 데이터를로드하고 내 라우터가

App.StaticCollections.contactTypes.fetch({}), 
App.StaticCollections.documentTemplates.fetch({}), 
App.StaticCollections.invoiceStatuses.fetch({}), 
App.StaticCollections.estimateStatuses.fetch({}), 
App.StaticCollections.currencies.fetch({}) 

App.Router = new MainRouter(); 
Backbone.history.start({ 
    pushState: false, 
    root: App.Root 
}); 
+2

페이지가 처음로드 될 때 항상 정적 데이터가 항상 존재하도록하는 것이 더 좋습니다. 페이지에이 데이터를 부트 스트랩합니다. 페이지로드시 가져 오지 마십시오. –

답변

0

http://api.jquery.com/jQuery.when/을 instantated 전에 그들이 완전히로드되어 있는지 확인하는 가장 좋은 방법은 무엇입니까 드롭

$.when(
    App.StaticCollections.contactTypes.fetch({}), 
    App.StaticCollections.documentTemplates.fetch({}), 
    App.StaticCollections.invoiceStatuses.fetch({}), 
    App.StaticCollections.estimateStatuses.fetch({}), 
    App.StaticCollections.currencies.fetch({}) 
).then(function() { 
    App.Router = new MainRouter(); 
    Backbone.history.start({ 
    pushState: false, 
    root: App.Root 
    }); 
}); 
0

은 ... 수 샨스의 의견을 피기 백하려면 일반적으로 여러 요청이 단지 렌더링하는 페이지를 가능하게 만들고 싶어하지 않습니다. 네트워크 지연이 있으면 사용자에게 매우 불편할 수 있습니다. Collection.reset를 사용하여 페이지의 데이터 부트 스트랩

:

App.StaticCollections.contactTypes.reset([ 
    { attr1: "val1", ... } 
]); 

적절한 경우, 동적으로 서버 측 언어를 사용하여 값을 포함.

+0

말하면 동적으로 값을 삽입하십시오 , JSON 파일을 웹 사이트의 정적 파일로 포함 시키거나 단순히 스크립트 태그 안에 데이터를 포함시키는 것을 의미합니까? – Michael

+0

@Michael 스크립트 태그에 포함시키는 것이 바람직하다고 생각합니다. – McGarnagle