2016-08-09 70 views
2

我有以下的代碼,顯示頭像:AngularJS和IE問題

<div class="dashboard_image" style="background-image:url({{(user.avatar!=null)?user.avatar:'/img/general_user.svg'}})" style="width:200px;height:200px"></div> 

如果用戶沒有任何圖像,user.avatar來自空。

在鉻工作正常,但沒有在IE 11.什麼是錯的?

+0

具有u檢查,如果你的HTML文檔呈現正確(是否是風格元素保持正確的值)?在閱讀你的評論後,我懷疑你的問題可能不在角度,但與[IE 11中的SVG顯示問題]有關(http:// stackoverflow的.com /問題/ 27494296/SVG的未示出 - 在-IE11)。 – MMhunter

+0

@MMhunter我這麼認爲,但在標題中,SVG顯示完美。這是奇怪的事情! – domoindal

回答

3

嘗試使用ng-style,它是爲此目的而存在的。

https://docs.angularjs.org/api/ng/directive/ngStyle

<div 
    class="dashboard_image" 
    style="width:200px;height:200px" 

    ng-style="{ 
     backgroundImage: 'url(' + (user.avatar!=null ? user.avatar : '/img/general_user.svg') + ')' 
    }"> 
</div> 

(未測試)

+0

它出現錯誤:angular.js:13550錯誤:[$ parse:syntax] http://errors.angularjs.org/1.5.5/$parse/syntax?p0=%2F&p1=not%20a%20primary..._user .svg%20%2B%20')'%20%7D&p4 =%2Fimg%2Fgeneral_user.svg%20%2B%20')'%20%7D – domoindal

+0

丟棄'{{'和'}}大括號ng樣式表達式:'url('+(user.avatar!= null)?user.avatar:'/img/general_user.svg'' }' – Duncan

+0

現在沒有錯誤但不顯示在任何情況下圖像。 – domoindal

0

你應該做這樣的事情:

<div class="dashboard_image" ng-style="{'background-image': user.avatar!=null ? 'url(user.avatar)' : 'url(/img/general_user.svg)'" style="width:200px;height:200px"></div> 
+0

主要問題仍然存在。如果沒有頭像,默認圖像不會在IE11中顯示,但在Chrome中是。 – domoindal