2014-09-29 115 views
1

在我燼程序,我想加載圖像。我的模型具有多個圖像,因此我將它們異步加載。灰燼負載async屬性

fotos: DS.hasMany('foto', { async: true }) 

每個 '照片' 具有proptery到文件位置 '文件名:DS.attr()'。現在,我需要路由的控制器擴展路徑加載圖像作爲背景圖片:

loadImage: function(){ 
    var path; 
    this.get('model').forEach(function(art){ 
     art.get('fotos').then(function(fotos){ 
      path = fotos.get('content')[0].get('fileName'); 
     }) 
    }); 
    return "background-image:url(" + path +")"; 
}.property() 

(日誌稱)的LoadImage或路徑包含圖像的正確路徑。在我的模板中,當我嘗試使用{{loadImage}}進行渲染時,它從不出現。我該如何改變它?

回答

0

路徑被異步設置,並且會立即返回空值。

firstImagePath: Em.computed.alias('firstObject.fotos.fileName'), // this assumes you're in an ArrayController 

loadImage: function(){ 
    var path = this.get('firstImagePath'); 
    return "background-image:url(" + path +")"; 
}.property('firstImagePath') 
+0

許多感謝您的回答。我已經嘗試過,因爲我需要另一個模板中的別名。圖像呈現在那裏,但在(陣列)控制器的firstImagePath總是空:( – HappyCoder 2014-09-30 08:09:13