2011-05-11 4 views
1

저는 jquery1.6.min, jquery-tmpl.js (최신 베타) 및 knockout-1.2.0.js가 있습니다. 아주 간단한 예제를 사용하고 있지만 렌더링 할 jquery 템플릿을 얻을 수 없다. 이유를 알아낼 수 없다. 단순히 방화범을 사용하여 DOM을 스캔하여 dom의 요소를 볼 수있다. - 일부 tmp = annonymous (jquery, $ item)가 나타나지만 데이터가 DOM 내부에서 렌더링되지 않습니다.jquery 템플릿으로 시작합니다.

템플릿 :

<script id="bookTemplate" type="text/x-jquery-tmpl"> 
    <h2>${title}</h2> 
    price: ${formatPrice(price)} 
</script> 

jscode :

<script type="text/javascript"> 
     $(document).ready(function() { 
     // Create an array of books 
     var books = [ 
      { title: "ASP.NET 4 Unleashed", price: 37.79 }, 
      { title: "ASP.NET MVC Unleashed", price: 44.99 }, 
      { title: "ASP.NET Kick Start", price: 4.00 }, 
      { title: "ASP.NET MVC Unleashed iPhone", price: 44.99}]; 

     function formatPrice(price) { 
      return "$" + price.toFixed(2); 
     } 

     // Render the books using the template 
     $('#bookTemplate').tmpl(books).appendTo('#bookContainer'); 
     }); 
    </script> 

답변

0
window.formatPrice = function formatPrice(price) { 
    return "$" + price.toFixed(2); 
} 

Live Example

귀하의 템플릿에 formatPrice를 호출하지만 폐쇄에 함수를 정의. 이를 수행하려면 formatPrice이 전역 범위에 있어야합니다. 이 일을 쉽게 할 수있는 방법은 다음과 같습니다. windiw.formatPrice

+0

나는 당신이 나를 도왔다는 것을 보여주었습니다. 그러나 나는 실제로 컨테이너를 추가하는 것을 놓쳤습니다. '

' – Haroon

+0

@ 오, 하룬. 나는 당신이 당신의 HTML에 그것을 가지고 있다고 생각했다 : D 만일 당신의 문제가 그것을 받아 들인다면 :) – Raynos

+0

나는 어떤 이유로 4 분을 기다려야 만 할 것이다. 고맙습니다 :) – Haroon

관련 문제