我目前正在使用下划线模板来呈现一个显示联系人列表的 HTML 列表。
模板看起来像这样:
<li>
<span class="name">Name: <=%data.name%></span>
<span class="email">Name: <=%data.email%></span>
<img class="avatar" src="<=%data.avatar%>"></img>
</li>
问题是,当我设置模板数据时,图像的来源是未知的。为什么?因为我的数据看起来像这样:
contact = {
name: string, // i.e. 'John Doe'
email: string, // i.e 'john@doe.com'
avatar: string // i.e. '11a93150-14d4-11e3'
}
头像实际上不是 URL,而是需要获取的远程数据库的链接。就像是:
function getAvatar(uuid, cb) { // uuid is something like 11a93150-14d4-11e3
window.db.getImageUrl(function(url) {
cb(url); // url is something like http://foo.com/avatar.png
});
}
问题是,有没有办法编写我的模板,而不是直接读取联系人对象的头像值,我可以嵌入对 getAvatar 之类的函数的引用,当模板被渲染时,获取图像的 url 并设置头像图片网址?
提前致谢