2015-11-04 82 views
2

我不知道如何解釋這一點,但讓我來試試..圖像源,但在瀏覽器中首次沒有顯示

圖像源,但在瀏覽器的第time.And不顯示,當你刷新其visible.What可能是原因請告訴。

  • 我檢查它,並在容器div裏面,我可以看到。

  • 當你加載/刷新頁面時,它總是可見的。

  • 有時它甚至可以在第一次訪問時看到,但其罕見的說是1/10次。

  • 以前它使用相同的代碼工作正常。

請試着解釋可能是什麼原因,如果確切的答案無效。

我使用node.jsangular.js和瀏覽器是Chrome版本45,我相信,它涉及到客戶端。

這是我的div

  <div id='userIntro'> 
      <img src='images/{{dp}}' style='display:inline;max-width: 50px;max-height: 50px;z-index:2;' ng-click='changeUserImage()' id='userDP'/> 
      <br/> 
      <label style='display:inline;'>Welcome {{userName}}</label> 
      <input type='file' name='userImageF' id='userImageF' accept="image/*" style='display:none;' onchange="angular.element(this).scope().readImage()"/> 
      </div> 

,這是我的控制器功能代碼。

var uAjax = $http.get("/getUser"); 
     uAjax.success(function(data) { 
      if (data === 'failed') 
      { 

       $location.url('/login'); 

      } 
      else 
      { 

       $scope.userName = data.username; 
       $scope.dp = '/'+data.dp; 
      } 
     }); 

此代碼之前工作的很好..

as you can see here

+2

你可以添加一些代碼片段 –

+0

實際上在代碼中有很多依賴關係,這就是爲什麼我沒有發佈任何代碼可能會造成更多混淆。只是想知道它是如何可能的。 –

+0

代碼已更新...請現在查看。 –

回答

1

我覺得src attrs有問題。你使用表達式,所以你應該使用ng-src。例如:<img ng-src="image/{{url}}" ...

0

這裏是演示http://jsfiddle.net/r904fnb3/2/

var deffered = $q.defer(); 
setTimeout(function(){ 
deffered.resolve('https://angularjs.org/img/AngularJS-large.png'); 
}, 3000);  
//promise 
deffered.promise.then(function(res){ 
    console.log(res); 
    vm.image = res; 
}); 

你可以使用$ Q deffred服務,將您的圖像護理varialbe 希望這可以幫到你

+0

thnx ..不是爲了這個,但這會幫助我:) –

0

正如在Errorpro中評論的那樣。

問題是src ...因爲我使用表達式,它應該是ng-src

thnx Errorpro。

相關問題