angular关于directive的总结

本文介绍了一种在前端开发中自定义的图片选择指令,通过AngularJS实现,用于动态加载和选择图片,包括图片预览、删除等功能。该指令使用了自定义控制器和链接函数,实现了与后端API的交互,提供了丰富的用户交互体验。

使用

<user-imgs imgs="imgs" refresh-method="refreshStyle()" img-model="sceneConfigObj.options.globalStyle.backgroundImage"></user-imgs>

定义

app.directive('userImgs', function () {
    return {
        restrict: 'E',
        templateUrl: '/frontend/dashboard/directives/select-img.html',
        replace: true,
        scope: {
            imgs: '=', //存放图片的文件夹
            imgModel: '=',//选中事件
            refreshMethod: '&'//选中事件
        },
        link: function (scope, element, attrs, controller) {

        },
        controller: function ($scope, $http, $element, $timeout) {
            $scope.imgSelect = function (imgPath) {
                $scope.imgModel = imgPath;
                $scope.refreshMethod();
            };

            $scope.delImg = function (index) {
                $http.get(encodeURI('/api/dash/delUserImg?imgPath=' + $scope.imgs[index])).then(function (rs) {
                    if (rs.data.status == 'success') {
                        $scope.imgs.splice(index, 1);
                    }
                });
            };
        }
    };
});

select-img.html的定义

<div class="img-content">
    <div class="img-item" ng-repeat="($index, imgPath) in imgs track by $index">
        <div class="del-img" ng-click="delImg($index)">x</div>
        <img ng-click="imgSelect(imgPath)" ng-src="{{ imgPath }}">
    </div>
</div>

 

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值