我創建了一個ajax上傳組件,其中包含每個骨幹視圖的進度條,這是我的視圖模板的外觀。綁定並觸發骨幹事件到一個特定的視圖
<script id="view-template-dropped-file" type="text/html">
<a><%=name %></a><span><%=fileSize%></span>
<div class="ui-progress-bar">
<div class="ui-progress"></div>
</div>
</script>
當我把文件放在我的拖放區域創建一個視圖爲每個文件這樣
for (i = 0; i < files.length; i++) {
var view = new DroppedFileView({
model: new DroppedFile({
name: files[i].name,
fileSize: files[i].size
})
});
var $li = view.render().$el;
$('#droparea ul').append($li);
});
一些文件Added顯示每個文件的進度條的下降區域。 http://cl.ly/Lf4v
現在當我按上傳時,我需要分別顯示每個文件的進度。
我試圖做的是綁定到一個事件在我DroppedFileView這樣
initialize: function() {
var app = myapp.app;
app.bind('showProgress', this._progress, this);
}
和_progress功能
_progress: function(percentComplete) {
this.$el.find('.ui-progress').animateProgress((percentComplete * 100), function() { }, 2000);
}
,這是我如何觸發從下拉區域的事件查看
當然這不會工作,因爲我聽同樣的showPro所有視圖中的gress事件將導致所有進度條顯示相同的進度。
那麼,是否有可能將一個事件綁定到一個指定的視圖,這樣進度可以單獨更新,或者事件不是一個好方法?
其實我有一個放置區的視圖和每個放置文件的一個視圖,所以我猜這個模型的觸發器對我不起作用。我已經爲此展示了我正在開發的代碼。 http://jsfiddle.net/eLLmW/66/ – Marcus
@Marcus,更新了我的回答,評論太長了。只需$ 0.02 – jevakallio
感謝您的幫助! – Marcus