2015-11-04 78 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。

相关问题