源代码中的图片,但首次未在浏览器中显示

时间:2015-11-04 09:54:09

标签: html css angularjs browser

我不知道如何解释这个,但让我试试..

源代码中的图片,但不是第一次在浏览器中显示。当你刷新它的可见时。请告诉我们原因。

  • 我已经检查了它,就在容器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

3 个答案:

答案 0 :(得分:1)

我觉得src attrs的问题。您使用表达式,因此您应该使用ng-src。示例:<img ng-src="image/{{url}}" ...

答案 1 :(得分: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 希望这可以帮到你

答案 2 :(得分:0)

正如Errorpro在评论中提到的那样。

问题出在src ...因为我使用的是表达式,所以它应该是ng-src

thnx Errorpro。