我正在为这个项目使用 jQuery、jQuery Mobile、Handlebar
我有一个课程页面如下。
当我单击一门课程时,它会显示如下页面,其中包含课程的特定课程。
以上课程取自我为此使用 Handlebar 的 JSON。下面是把手模板。
<script id="lessontemplate" type="text/x-handlebars-template">
{{#each this}}
<li><a href="{{lesson}}">{{lessonname}}</a></li>
{{/each}}
</script>
下面是替换模板的JS代码
("#mycourses").on('click','.mycourse',function(e){
e.preventDefault();
var url = domainURL+'coursedata.php?callback=?';
$.getJSON( url, { courseid: $(this).data('courseid') }, function( data ) {
var tmpl = $('#lessontemplate').html();
console.log(tmpl);
$('h1.coursename').html(data.coursename);
lessontemplate = Handlebars.compile( tmpl );
console.log( lessontemplate(data.coursedetails) );
$('ul#lessons').html( lessontemplate(data.coursedetails) );
$.mobile.changePage("#coursedetails", {transition: 'slide'});
});
});
然后,如果我转到课程页面并单击课程,则课程显示不正确。它显示了以下输出。
第一次单击 Console.log() 输出如下
{{#each this}}
<li><a href="{{lesson}}">{{lessonname}}</a></li>
{{/each}}
<li><a href="1">Lesson Name 1</a></li>
<li><a href="2">Lesson Name 2</a></li>
<li><a href="3">Lesson Name 3</a></li>
第二次单击 Console.log() 输出如下
{{#each this}}
<li><a href="{{lesson}}">{{lessonname}}</a></li>
{{/each}}
<li><a href="1">Lesson Name 1</a></li>
<li><a href="2">Lesson Name 2</a></li>
<li><a href="3">Lesson Name 3</a></li>
第一次单击 Console.log() = 第二次单击 Console.log() 但为什么我第二次没有得到正确的输出?为什么没有正确显示第二次课程?