angularjs图片上传后不刷新的解决办法

本文介绍了一种在AngularJS中实现图片动态加载的方法,通过使用自定义指令与服务结合的方式,实现了图片地址根据ID动态获取并绑定到指定元素上。此外,还提供了一种解决方案,确保在图片更新后能立即在界面上显示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

刚接触angularjs在使用的过程中遇到这个问题

 

首先我们的图片地址是根据ID来获取的,所以用了指令来完成图片的绑定

.directive("cImg", ['appUrl', function (appUrl) {
    return {
        restrict: 'A',
        link: function (scope, element, attrs) {
            var url = appUrl+ "/GetImgUrl";
            var para = { id: attrs.id};
            scope.baseService.post(url, para, function (data) {
                $(element).attr("src", data.d);
            });
        }
    };
}])

  

 <img c-img id="{{id}}" width="200" height="120" alt="">

 

但是这样的话上传图片后如果不刷新页面的话图片地址是不会更新的,解决方法是用一个$scope变量来记录是否显示图片,这样在更新这个变量后就会刷新图片了

 

<img ng-if="IsShowImg" c-img id="{{id}}" width="200" height="120" alt="">

  

 function () {
        var url = url+ "/up_load";
        //上传之前设置为false  隐藏图片
        $scope.IsShowImg=false;
        $scope.baseService.post(url, {}, function (data) {
            //上传成功后显示图片
            $scope.IsShowImg = true;
        });
    }

  

 

转载于:https://www.cnblogs.com/zhuwenjun/p/4673973.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值