我用這個幫手,請檢查是否圖像的存在與否:車把和異步調用
Handlebars.registerHelper('checkLogo', function(url) {
UrlExists(url, function(status){
if(status === 200){
return new Handlebars.SafeString(url)
}
else if(status === 404){
console.log('no logo found');
}
});
});
function UrlExists(url, cb){
$.ajax({
url: url,
dataType: 'text',
type: 'GET',
complete: function(xhr){
if(typeof cb === 'function')
cb.apply(this, [xhr.status]);
}
});
}
我把它(用URL作爲ARG)在我的模板是這樣的:
<img src="{{checkLogo logo}}"/>
林期待{{checkLogo logo}}
被替換的網址,但沒有得到返回。這可能是異步行爲,因爲它必須以不同的方式處理?
謝謝
我很確定Handlebars根本不支持異步助手。另見[這個問題](https://github.com/wycats/handlebars.js/issues/717)。 – robertklep
好的,謝謝你,我猜我必須找到另一種方式:) – user2915962