我正在尋找使用ng-style動態設置div的背景圖像。有幾個答案,但沒有爲我工作。 我已經意識到,對於一個簡單的情況下,如下圖所示,沒有任何問題ng-class在渲染後不設置圖像背景
<li ng-style="{'background-image': 'url({{ image.source }})'}">...</li>
其中$scope.image = ...
定義。或者更直白:
<li ng-style="{'background-image': 'url(http://example.com/image.png)'}">...</li>
但是假如你具備以下條件:
<li ng-style="{'background-image': 'url({{ item.image_url }})'}">...</li>
和控制器:模板被渲染後
$scope.item = undefined;
Items.get({id: 1})
.then(function (item) {
$scope.item = item;
});
項目變爲可用。而且我發現,角只是設置背景圖片到主機URL
<li ng-style="{'background-image': 'url({{ item.image_url }})'}" style="background-image: url(http://localhost:3000/);">
</li>
我可以使用自定義指令這一點,但如果有得到這個工作的一個簡單的方法,我寧願這在指示。
這裏有一個plunker演示該問題:
http://plnkr.co/edit/5JsK4njQi7Kc3ShUtRIw?p=preview