2017-05-30 46 views
0

我有顯示使用該圖像:數據-NG-SRC與如果條件

<img data-ng-src="data:image/jpg;base64,{{selectedReport.reportImage.imageFile.data}}"/> 

上述數據是從我的數據庫取出。

當用戶單擊編輯記錄並選擇存儲在可變imageFile中的新圖像時,我想顯示此imageFile而不是取回的記錄。

如何在data-ng-src中使用if條件?
單獨這些工作,但我想申請一個if條件,我說,如果鏡像文件,然後

data-ng-src="{{imageFile}}" 

其他

data-ng-src="data:image/jpg;base64,{{selectedReport.reportImage.imageFile.data}}" 

我試着這樣做:

data-ng-src = {{imageFile}} and data-err-src = "data:image/jpg;base64,{{selectedReport.reportImage.imageFile.data}}"/> 

但這不起作用。

回答

2

我想你應該只是使用一個函數,在你的控制器中聲明來處理這種情況。

在你的控制器:

$scope.getImage = function(){ 
    return $scope.imageFile || [your_default_image_file]; 
} 

在HTML,是這樣的:

<img data-ng-src="{{getImage()}}"/> 

我希望它能幫助。

+0

我最終在控制器中寫了一個函數,並在使用ng-change更改圖像時調用它。 – user3439399

3

AngularJS意見支持二進制運營商

condition && true || false 

所以你img標籤應該是這樣

<img data-ng-src="{{ imageFile != '' && imageFile || 'your-default-image' }}"/> 

注意:你可以使用任何條件知道鏡像文件存在,或者有一個值。

注2:引號(即'your-default-image')在這裏很重要。它不會沒有引號。

+0

它沒有幫助,因爲我的默認圖像是64位編碼文件,下面是img標記,我收到錯誤 - 詞法錯誤https://docs.angularjs.org/error/$parse/lexerr?p0=無端接%20quote&P1 = S%2032-98%20%5B%27data:圖像%2Fjpg; BASE64,%7B%7BselectedReport.reportImage.imageFile.data%5D&P2 =鏡像文件%20%3D%20%27%27%20%! 26%26%20imageFile%20%7C%7C%20%27data:image%2Fjpg; base64,%7B%7BselectedReport.reportImage.imageFile.data – user3439399

+0

因爲您已經添加了符號{{不需要再次使用它, in data:image/jpg; base64,{{selectedReport.reportImage.imageFil e.data}}',它應該看起來像data:image/jpg; base64,selectedReport.reportImage.imageFil e.data' –

+0

嘗試過。但那不起作用。 – user3439399