首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Angularjs中添加/编辑场景的设计建议

Angularjs中添加/编辑场景的设计建议
EN

Stack Overflow用户
提问于 2014-09-03 14:09:32
回答 1查看 42关注 0票数 0

这是我的设想。我有一个addPersonController和editPersonController,分别有addPersonView和editPersonView。在这两个控制器中,我上传的是人的照片。我的上传功能使用作用域变量/函数来处理控制器中的文件上载。因此,我最终在两个不同的控制器中有相同的代码。有什么建议可以重用上传功能吗?我使用ng-flow指令上传。

代码语言:javascript
复制
$scope.personImageUploaderConfig = {
    target : '/personImageUpload',
    singleFile:true,
    chunkSize : $scope.maxChunkSize,
    query: function (flowFile, flowChunk) {
        // function will be called for every request
        return {
            personId: $scope.newPersonIdentifier, source: 'flow_query'
        };
    }
};   

$scope.onUploadCompleted = function () {
    //event triggers by ng-flow when upload completes
};

//calls by controller logic supplying personId
$scope.handleUpload = function(personId){       
    if($scope.personPicture){
        $scope.newPersonIdentifier = personId;
        $scope.image.flow.upload();         
    }
};
//event triggers by ng-flow when image selected
$scope.imageSelected= function () {

    else {

        $scope.getBinrayFromFile($scope.image.flow.files[0].file).then(function (binary) {
            $scope.personPicture = binary;
        });
    }
};

$scope.getBinrayFromFile=function(file){
    var deferred = $q.defer();
    var r = new FileReader();
    r.onloadend = function(e){
        var data = e.target.result;
        deferred.resolve(data);
    };
    r.readAsBinaryString(file);
    return deferred.promise;
};
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-09-03 14:15:53

您可以创建一个指令来处理这个问题,使用scope: false使指令中的作用域与控制器中的作用域相同。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25646553

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档