2017-06-21 43 views
0

時承諾解決我有這樣一個div:如何應用[style.background圖像]

<div [style.background-image]="'url(' getImageFunction() ')'"> 
</div> 

的問題是getImageFunction()返回一個承諾。如何解決獲取圖片網址的承諾?

我想這樣做,但顯然沒有奏效

<div style="background-image: url('{{getImageFunction() | async}}');"> 
</div> 
+1

嗯,這是d可以做一些像[**這**](http://plnkr.co/edit/aBPC2lyYGrXE9VczSCcw),但我真的不推薦這種方法。該函數將被無限期地調用......將promise轉換爲變量並執行類似[** this **]的操作(http://plnkr.co/edit/ipHzlKbt5feOkaKWNDrN)更好。 – developer033

回答

1

會建議保持它的簡單變。由於異步調用爲@ developer033說被無限期地調用,這是正確的

可以處理它與simpliy可變

<div [style]="showUrl ? background-image: url('demo.jpg') : null "> 
</div> 

.ts手柄布爾值showUrl

this.getImageFunction().then(() => { 
    this.showUrl = true; 
},() => { 
    this.showUrl = false; 
}) 
相關問題