2013-04-23 2 views
0

ajax를 사용하여 데이터를로드하고 Knockout을 사용하여 내 페이지를 채 웁니다. 이 모든 것이 잘 작동합니다. 페이지를 #contacts으로 변경하면 모양이 좋아집니다. 그러나 #contacts 페이지가로드되는 초기 페이지에 문제가 있습니다. 예 : www.mydomain.com/#contacts을로드하면로드 된 초기 페이지가 목록 페이지이므로 ko.bindinghandlers.listview은 아무런 영향을주지 않습니다. 페이지를 다시 만들려고했으나 완전히 작동하지 않습니다. 모든 스타일이 적용되는 것은 아닙니다. 내 목록보기는 단순한 목록보기가 아니며 확인란이있는 목록보기를 만들기 위해 controllgroup도 포함합니다.Ajax 데이터가 레이아웃을 업데이트하지 않습니다.

$("#contacts").page('destroy').page(); 

$('#contacts').bind('pageinit', function() { 
    $('ul').listview(); 
}); 

가 어떻게 Ajax를 사용하여 데이터를로드 할 수 있습니다, 내 ul에 (KO를 사용하여) 추가하고 올바르게 렌더링했다.

#contacts로드 초기 페이지가 아닌 경우는 모습입니다 : Correct

이 내가 #contacts로드 초기 페이지입니다 때까지이를 얻기 위해 관리하는 최선의 결과입니다 Incorrect

+0

나는 그냥 추측하고 있지만, * .page()를 호출하기 전에 * 처리기를 바인딩 할 수 있습니까? – David

+0

질문을 명확히 해주시겠습니까? –

+0

@David 차이가 없습니다. 같은 결과 –

답변

0

가 JavaScript를 사용하여 업데이트 할 때마다 목록보기에서 refresh으로 전화해야합니다. docs

$('.selector').listview('refresh');

더.

+0

시도했지만 올바르게 렌더링하지 않았습니다. 예 : class 태그는 h3 태그에 추가되지 않습니다. #contacts 페이지가 초기 페이지가 아닌 경우입니다. –

0

pageinit()은 처음로드 될 때 호출되지 않을 것입니다. 거기에 console.info를 추가하여 문제가 발생하면 load() 또는 해당 기분 일 때마다 호출되는지 확인하십시오. 그게 다야?

관련 문제