我正在Backbone.js中構建一個應用程序,並使用gridify以網格方式排列我的照片。問題是圖像異步加載,這似乎是導致網格化問題。在所有ascyn電話完成後有沒有辦法調用gridify函數?我嘗試在發佈後進行調用,但這似乎沒有幫助。這裏是我的代碼:在圖像完成加載後使用Gridify
在TemplateContext:
var images = [];
this.model.get('images').each(function (imageModel) {
var image = imageModel.toJSON()
images.push(image);
}, this);
return {
images: images,
view:this
}
在後期渲染:
var options =
{
srcNode: 'img', // grid items (class, node)
margin: '20px', // margin in pixel, default: 0px
width: '250px', // grid item width in pixel, default: 220px
max_width: '', // dynamic gird item width if specified, (pixel)
resizable: true, // re-layout if window resize
transition: 'all 0.5s ease' // support transition for CSS3, default: all 0.5s ease
}
$('.grid').gridify(options);
,並在我的模板:
<div id="activity" class = "grid" style="border: 1px solid black;">
{{#if images }}
{{#each images}}
<img src ="?q=myApp/api/get_images&imgId={{id}}&imgSize=medium" >
{{/each}}
{{else}}
No images have been uploaded
{{/if}}
</div>
這將導致所有的圖像疊在彼此之上。我認爲這是因爲gridify並不知道尺寸應該是什麼,因爲在gridify被調用之後圖像被加載。如果我只是在我的模板中使用靜態圖像,它工作正常。任何人有任何建議如何處理這在骨幹或網格化?
感謝 傑森