2013-01-11 8 views
0

jquery 모바일, 백본 및 require.js를 모듈화하여 모바일 웹 응용 프로그램을 작성하고 있습니다. 나는 이것을 가진 html 페이지를 가지고있다;백본보기가 페이지 생성 이벤트에서 렌더링되지 않음

<html> 
<head> 
    <meta name="viewport" content="width=device-width, initial-scale=1"> 
    <meta http-equiv="Content-type" content="text/html; charset=utf-8"> 
    <title>DoIt</title> 
    <link href="jqm/jquery.mobile-1.2.0.css" rel="stylesheet"> 

    <script charset="utf-8" src="jqm/jquery-1.7.2.min.js"></script> 
    <script charset="utf-8" src="jqm/jquery.mobile-1.2.0.min.js"></script> 
    <script charset="utf-8" src="libs/require.js" data-main="app"></script> 

</head> 

내 app.js 파일은 뷰의 렌더링을 실행하는 데이

//Require.js configuration 
require.config({ 
    paths: { 
     'underscore': 'libs/underscore-min', 
     'backbone': 'libs/backbone-min', 
     'text': 'libs/text' 
    }, 
    shim: { 
     'backbone': { 
      deps: ['underscore'], 
      exports: 'Backbone' 
     } 
    } 
}); 

require(['backbone', 'views/main'], function (Backbone, AppView) { 
    'use strict'; 
    var view = new AppView(); 

    $(document).bind('pagecreate', function() { 
     view.render(); 
    }); 
}); 

<script type="text/html" id="app-view-tmpl"> 
    <div id="task-creator"> 
     <input type="text" id="task" placeholder="Enter a task"> 
     <button data-role="button" data-theme="b"> 
      Create task 
     </button> 
    </div> 
     </script> 

나는 'pagecreate'이벤트를 사용하여 뷰에 대해이 템플릿처럼 보인다 . 보기가 렌더링되지 않지만보기 초기화시 콘솔에 기록되도록 설정된 다른 세부 사항이 기록됩니다. 뭐 잘못 됐나요?

답변

0

나는 backbone.js에 대해 거의 안다. 그러나 당신이 위젯을 빌드 한 후 "새로 고침"하고 있습니까?

$("#myListView").listview("refresh");

또는

$("#myButton").button("refresh");

이것은 당신의 pagecreate 로직의 일부가되어야

http://jquerymobile.com/demos/1.2.0/docs/lists/lists-methods.html

. 템플릿에 대한 추가 세부 정보를 얻는 것이 도움이됩니다.

+0

밑줄 템플릿 사용 – MrFoh

+0

템플릿을 공유 할 수 있습니까? jQuery Mobile은 마크 업에 크게 의존하며 사용자는 아무 것도 제공하지 않았습니다. 고마워, – andleer

+0

나는 질문을 템플릿으로 업데이트했다. – MrFoh

관련 문제