我有两个返回简单字符串的函数。两者都已注册。
$.views.helpers({
parseDate: function (jsonDate) {
if (jsonDate != null) {
var date = new Date(parseInt(jsonDate.substr(6)));
var newDate = $.fullCalendar.formatDate(date, "MM/dd/yyyy");
return newDate;
}
},
renderPrimaryResource: function (PrimaryResource, LessonID) {
debugger;
$.ajax({
url: "cl/lb",
dataType: "json",
data: { id: PrimaryResource.ResourceID },
type: 'GET',
async: false,
success: function (data) {
var thumbnailImage = data[1];
return thumbnailImage;
}
});
}
});
我的 jsrender 模板调用了这两个函数。解析日期函数被调用并按原样返回。第二个函数被调用并返回一些东西,但 jsrender 没有捡起它?不知道会发生什么,但它完全被忽略了。
<script id="LessonDetailTemplate" type="text/x-jsrender">
{{for lessons}}
<div class="row lesson-block">
<div class="span4">
<h4>{{:LessonName}}</h4>
<span><strong>Due on <span>{{:~parseDate(DueDate)}}</span>
<br/>
<p>{{:LessonDescription}}</p>
</div>
<div class="span4">
<span">{{:~renderPrimaryResource(PrimaryResource, LessonID)}}</span>
</div>
</div>
{{/for}}
任何人都知道为什么这不渲染?我唯一能想到的是 ajax 调用,但是在调试模板时,直到函数返回一些东西才会继续。所以我对正在发生的事情感到迷茫。